本文介绍了调整大小时使用PIL保留图像的exif数据(创建缩略图)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试使用PIL调整图像大小(缩略图)时,exif数据会丢失.
When I try to resize (thumbnail) an image using PIL, the exif data is lost.
我该怎么办才能将exif数据保留在缩略图中?当我搜索相同的内容时,获得了一些链接,但似乎没有任何作用.
What do I have to do preserve exif data in the thumbnail image? When I searched for the same, got some links but none seem to be working.
from PIL import Image
import StringIO
file_path = '/home/me/img/a.JPG'
im = Image.open( file_path)
THUMB_SIZES = [(512, 512)]
for thumbnail_size in THUMB_SIZES:
im.thumbnail( thumbnail_size, Image.ANTIALIAS)
thumbnail_buf_string = StringIO.StringIO()
im.save('512_' + "a", "JPEG")
原始图像具有exif数据,但图像im(512_a.JPEG)没有.
The orginal image has exif data, but image im(512_a.JPEG) doesn't.
推荐答案
import pyexiv2
from PIL import Image
file_path = '/home/../img/a.JPG'
metadata = pyexiv2.ImageMetadata(file_path)
metadata.read()
thumb = metadata.exif_thumbnail
thumb.set_from_file(file_path)
thumb.write_to_file('512_' + "a")
thumb.erase()
metadata.write()
现在我使用(Patch Image Inspector)打开图像,我可以看到exif数据
Now I open the image using (Patch Image Inspector) , I can see the exif data
这篇关于调整大小时使用PIL保留图像的exif数据(创建缩略图)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!