“ 隐藏表白技能”
你有想过一张图片所包含的信息吗?你有想过一张图片可以为你隐藏表达一些内容吗?你有想过图片的隐藏信息可以为你表达你想要说明的东西吗?以及你可以 用图片去表达你的爱意。来,我们赶快学起来。
01— 思路解析
第一步:首先要了解我们要做什么?
我们想做什么,我们想在图片上隐藏的表达我们的爱意,并且让对方必须通过某种方式才能获取到这些信息。
那问题就出现了,我们要如何去做。首先我们上一篇文章中写到通过摄像机获取到的图片都有exif,点击下方链接就可以进入。
好了,有思路那就完美了,我们继续来看。
第二步:我们要如何才能做到信息的隐藏?
通过python我们已经可以获取到图片的隐藏信息,那我们能不能不能修改图片的exif信息呢?答案当然是能的,于是我们寻找到
piexif
这个模块可以帮助我们修改,exif的信息。让你隐藏的表达你需要的内容。
02— 编写代码
知道如何实现,那我们来看如何实现这个需求。
代码如下:
from PIL import Image
import piexif
import exifread
img = 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。
甚至你可以通过坐标为她(他)画一副画。
相关推荐:
了解更多,欢迎关注我们!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111402.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...