如何为 tiff 文件添加额外的标签
How to add additional Tag for tiff file
我正在尝试读取并保存一个带有一些附加标签的 tiff 文件,当我制作一个效果很好的新图像时,但是当我打开一个图像然后尝试写回一些元标签时它不起作用(图像可以写入,但它会保持原始标记不变。
我附上了我的测试代码,感谢您的帮助!
from PIL import Image, TiffImagePlugin
def test_custom_metadata():
img = Image.open('myimage.tif')
info = TiffImagePlugin.ImageFileDirectory()
CustomTagId = 37000
info[CustomTagId] = 6
info.tagtype[CustomTagId] = 3 # 'short' TYPE
Image.DEBUG=True
TiffImagePlugin.WRITE_LIBTIFF = False # Set to True to see it break.
img.save('./temp2.tiff', tiffinfo = info)
test_custom_metadata()
以下适用于 Pillow 2.3 版:
from PIL import Image
image_1 = Image.open('input.tiff')
image_1.tag[37000] = 'my special tiff tag'
image_1.save('output.tiff', tiffinfo=image_1.tag)
image_2 = Image.open('output.tiff')
print image_2.tag[37000]
当当前文件夹中 运行 一个 input.tiff
时打印 my special tiff tag
。
我的理解是,这仅在您不使用 libtiff 写入文件时才有效。使用 libtiff 自定义标签时将被忽略。
对于对该主题感兴趣的人:
C/C++ method to add custom tag for tiff file
完美解决问题
我正在尝试读取并保存一个带有一些附加标签的 tiff 文件,当我制作一个效果很好的新图像时,但是当我打开一个图像然后尝试写回一些元标签时它不起作用(图像可以写入,但它会保持原始标记不变。
我附上了我的测试代码,感谢您的帮助!
from PIL import Image, TiffImagePlugin
def test_custom_metadata():
img = Image.open('myimage.tif')
info = TiffImagePlugin.ImageFileDirectory()
CustomTagId = 37000
info[CustomTagId] = 6
info.tagtype[CustomTagId] = 3 # 'short' TYPE
Image.DEBUG=True
TiffImagePlugin.WRITE_LIBTIFF = False # Set to True to see it break.
img.save('./temp2.tiff', tiffinfo = info)
test_custom_metadata()
以下适用于 Pillow 2.3 版:
from PIL import Image
image_1 = Image.open('input.tiff')
image_1.tag[37000] = 'my special tiff tag'
image_1.save('output.tiff', tiffinfo=image_1.tag)
image_2 = Image.open('output.tiff')
print image_2.tag[37000]
当当前文件夹中 运行 一个 input.tiff
时打印 my special tiff tag
。
我的理解是,这仅在您不使用 libtiff 写入文件时才有效。使用 libtiff 自定义标签时将被忽略。
对于对该主题感兴趣的人:
C/C++ method to add custom tag for tiff file
完美解决问题