我正在尝试将TIFF字典添加到OS X中的图像文件中。
From Apple's documentation,看起来kCGImagePropertyTIFFDictionary
定义了一个字典,然后在其中包含kCGImagePropertyTIFFXResolution
等字符。
我看不出如何在我的python代码中实现它。目前,我刚刚将字典作为键和其他键一起使用。 (因此它不会将任何键设置到文件中。) 这是我的代码:
options = {
kCGImagePropertyTIFFDictionary: 'TIFFDictionary',
kCGImagePropertyTIFFXResolution: "300",
kCGImagePropertyTIFFYResolution: "300",
kCGImagePropertyTIFFResolutionUnit: 2
}
CGImageDestinationAddImage(destination, image, options)
CGImageDestinationSetProperties(destination, options)
这是来自open source script的一些其他python代码,可能有用,但我无法理解它在做什么。
imageProps = CGImageSourceCopyPropertiesAtIndex(imageSrc, 0, None)
if imageProps is not None :
tiffProps = imageProps[kCGImagePropertyTIFFDictionary]
if tiffProps is not None :
xRes = tiffProps[kCGImagePropertyTIFFXResolution]
yRes = tiffProps[kCGImagePropertyTIFFYResolution]
答案 0 :(得分:0)
原来需要嵌套词典。另一个问题是数字必须是数字,不足为奇。
options = {
kCGImagePropertyTIFFDictionary: {
kCGImagePropertyTIFFXResolution: 300,
kCGImagePropertyTIFFYResolution: 300,
kCGImagePropertyTIFFResolutionUnit: 2
}
}
更好的解决方案是根本不使用TIFF字典,因此它可以使用其他文件格式:
options = {
kCGImagePropertyDPIHeight: 300,
kCGImagePropertyDPIWidth: 300
}