3

以前有人问这个问题,但几年前就回答了这个问题,答案是指链接断开,可能不再是最好的方法。

pyxiv2看起来可以完成任务,但是对于看似简单的任务,它有很多依赖项。

我还想知道哪些值对于调整大小的图像将不再有效。宽度和高度是显而易见的。

4

1 回答 1

3

万一有人想使用 piexiv2,这里有一个解决方案:使用 PIL 库调整图像大小,使用 pyexiv2 复制的 EXIF 数据和图像大小 EXIF 字段设置为新大小。

import pyexiv2
import tempfile
from PIL import Image


def resize_image(source_path, dest_path, size):
    # resize image
    image = Image.open(source_path)
    image.thumbnail(size, Image.ANTIALIAS)
    image.save(dest_path, "JPEG")

    # copy EXIF data
    source_image = pyexiv2.Image(source_path)
    source_image.readMetadata()
    dest_image = pyexiv2.Image(dest_path)
    dest_image.readMetadata()
    source_image.copyMetadataTo(dest_image)

    # set EXIF image size info to resized size
    dest_image["Exif.Photo.PixelXDimension"] = image.size[0]
    dest_image["Exif.Photo.PixelYDimension"] = image.size[1]
    dest_image.writeMetadata()

# resizing local file
resize_image("41965749.jpg", "resized.jpg", (600,400))
于 2010-11-24T20:00:14.437 回答