调整大小时使用PIL保留图像的exif数据(创建缩略图) [英] Preserve exif data of image with PIL when resize(create thumbnail)

查看:185
本文介绍了调整大小时使用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数据(创建缩略图)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆