何时使用CGImageDestinationSetProperties添加属性,何时使用CGImageDestinationAddImage添加属性

3
我一直在尝试使用CGImageDestinationRef创建gif文件,但是我找不到任何有关应该在CGImageDestinationSetProperties中应用哪些属性以及在添加图像时应该设置哪些属性的文档。 但是我意识到这个问题不仅适用于将图像文件导出为GIF文件。
我查看了一些由CGImageSource返回的属性,虽然可以提供一些线索,但并不完全准确。但例如,HasGlobalColorMap和LoopCount应该是使用CGImageDestinationSetProperties设置的属性,而UnclampedDelayTime和DelayTime是在添加图像时设置的属性。
我希望能得到关于应该直接添加到CGImageDestinationRef中的属性以及应该在添加图像时添加哪些属性的指导?
谢谢
1个回答

2
我希望苹果能更好地解释这些细节。我也对此感到困惑。
Image I/O编程指南的示例中可以看出,所有属性都是使用CGImageDestinationAddImage在单个图像上设置的(尽管那里的描述有些矛盾...)。
CGImageProperties参考中,列出了所有可能的键,这些键由CGImageDestinationSetPropertiesCGImageDestinationAddImage使用。它区分了单个图像键、格式特定键和“图像源容器属性”(仅有一个键):

图像源容器属性

适用于容器总体而不一定适用于容器中的任何单个图像的属性。

它意味着(并由随机抽样试验和错误支持),所有其他键应使用单个图像进行设置,其中包括 CGImageDestinationAddImage

1
最终对我来说,我需要通过试错来测试事物。这是我能够确定使用CGImageDestinationSetProperties来设置{GIF}.LoopCount和{GIF}.HasGlobalColorMap的唯一方法。 - SheffieldKevin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接