前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >隐藏表白技能,python教你如何使用图片exif信息隐藏表白

隐藏表白技能,python教你如何使用图片exif信息隐藏表白

作者头像
大家一起学编程
发布2021-03-27 17:04:25
1.4K0
发布2021-03-27 17:04:25
举报

隐藏表白技能

你有想过一张图片所包含的信息吗?你有想过一张图片可以为你隐藏表达一些内容吗?你有想过图片的隐藏信息可以为你表达你想要说明的东西吗?以及你可以 用图片去表达你的爱意。来,我们赶快学起来。

01— 思路解析

第一步:首先要了解我们要做什么?

我们想做什么,我们想在图片上隐藏的表达我们的爱意,并且让对方必须通过某种方式才能获取到这些信息。

那问题就出现了,我们要如何去做。首先我们上一篇文章中写到通过摄像机获取到的图片都有exif,点击下方链接就可以进入。

黑客手段之一张照片就可能暴露你的基本信息

好了,有思路那就完美了,我们继续来看。

第二步:我们要如何才能做到信息的隐藏?

通过python我们已经可以获取到图片的隐藏信息,那我们能不能不能修改图片的exif信息呢?答案当然是能的,于是我们寻找到

代码语言:javascript
复制
piexif

这个模块可以帮助我们修改,exif的信息。让你隐藏的表达你需要的内容。

02— 编写代码

知道如何实现,那我们来看如何实现这个需求。

代码如下:

代码语言:javascript
复制
from PIL import Imageimport piexifimport exifreadimg = Image.open("0627.jpg")exif_message = piexif.load(img.info["exif"])for ifd in ("0th", "Exif", "GPS", "1st"):#循环打印修改之前图片exif信息    for tag in exif_message[ifd]:        print(piexif.TAGS[ifd][tag], exif_message[ifd][tag])exif_message["0th"][piexif.ImageIFD.Artist] = "我想大声告诉你我喜欢你".encode()#这里是作者名,我们写上自己想要的话exif_message["Exif"][piexif.ExifIFD.DateTimeOriginal] = '2020:05:20 13:14:20'.encode()#修改一个时间都是爱你的模样exif_message["GPS"][piexif.GPSIFD.GPSLatitude] = ((23, 1), (9, 1), (7628174, 1000000))#修改纬度exif_message["GPS"][piexif.GPSIFD.GPSLongitude] = ((108, 1), (9, 1), (7628174, 1000000))#修改经度exif_bytes = piexif.dump(exif_message)img.save("0627.jpg", exif=exif_bytes)#保存修改之后的图片print('------------------------------修改后-----------------------------------')for ifd in ("0th", "Exif", "GPS", "1st"):    for tag in exif_message[ifd]:        print(piexif.TAGS[ifd][tag], exif_message[ifd][tag])img.close()print("--------读取经纬度信息,并计算位置-------")f = open("0627.jpg", 'rb+')tags = exifread.process_file(f)lat = str(tags.get('GPS GPSLatitude', '0')).split("[")[1].split("]")[0].split(",")print("纬度为:",float(lat[0])+float(lat[1])/60+float(lat[2].split("/")[0])/float(lat[2].split("/")[1])/3600)long= str(tags.get('GPS GPSLongitude', '0')).split("[")[1].split("]")[0].split(",")print("经度为:",float(long[0])+float(long[1])/60+float(long[2].split("/")[0])/float(long[2].split("/")[1])/3600)

03— 编写代码

这里我重点给大家讲了修改经纬度的方法,其他的需要修改的数据可以关注公众号进行询问哟。

主要信息可以通过点击图片的右键,查看属性,就可以看见我们修改的信息了。如图:

是不是很神奇。另外,这里我给大家讲了修改经纬度的方式,通过上面的方式修改不了,只能通过代码修改。这样,你可以把不同的经纬度加入到图片中,当我们通过经纬度在地图上把某些点连接在一起的时候,就会发生一些奇妙的变化。

比如:你可以在地图上画一个桃心。写一句简单的英文love you。

甚至你可以通过坐标为她(他)画一副画。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大家一起学编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01— 思路解析
  • 02— 编写代码
  • 03— 编写代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档