我想在显示图像的exif数据中添加版权声明
我正在使用django-imagekit
和piexif
库
当我上传图像并在Django管理员中处理它们时,我无法保存或丰富图像的元数据
这是我的模型:
class Still(models.Model):
image = ProcessedImageField(upload_to='images',
processors=[ResizeToFit(1024)],
format='JPEG',
options={'subsampling': 0, 'optimize': True, 'quality': 85}
)
img_th_watermarked = ImageSpecField(source='image',
processors=[ResizeToFit(width=612), TextOverlayProcessor(), ExifCopyrightProcessor()],
)
这是处理器:
def add_copyright_exif(image):
copyright = "© {} my name".format(datetime.now().year)
try:
exif_dict = piexif.load(image.info["exif"])
except KeyError as k:
exif_dict = {"0th":{}}
exif_dict["0th"][piexif.ImageIFD.Copyright] = copyright
exif_bytes = piexif.dump(exif_dict)
new_image = image.copy()
new_image.info["exif"] = exif_bytes
print(new_image.info)
return new_image
class ExifCopyrightProcessor(object):
def process(self, image):
return add_copyright_exif(image)
print
似乎显示了正确的信息,其他处理器工作正常,但元数据在途中丢失了。我也尝试过删除格式选项。我不介意元数据在ProcessedImageField
步骤中丢失,但我应该能够在ImageSpecField
步骤中添加新信息
图像和缓存版本存储在S3上
提前感谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐