何时使用CGImageDestinationSetProperties添加属性以及何时使用CGImageDestinationAddImage添加属性

时间:2013-10-18 12:04:18

标签: ios macos core-graphics

我一直在寻找使用CGImageDestinationRef创建gif文件,我无法找到任何关于我应该使用CGImageDestinationSetProperties应用哪些属性的文档,以及当我将图像添加到CGImageDestination对象时应该设置的属性使用CGImageDestinationAddImage。

但我意识到这个问题不仅适用于将图像文件导出为GIF文件。

我已经看过了CGImageSource返回的一些属性,虽然这提供了一些线索,但它已经被点击了。小姐。但是,例如,似乎HasGlobalColorMap和LoopCount应该是使用CGImageDestinationSetProperties设置的属性,而UnclampedDelayTime和DelayTime是添加图像时应该设置的属性。

我正在指导我应该直接添加到CGImageDestinationRef的哪些属性以及添加图像时应添加哪些属性?

由于

1 个答案:

答案 0 :(得分:2)

我希望Apple能够更好地解释这些小细节。我也在考虑这个问题。

查看Image I/O Programming Guide示例,使用CGImageDestinationAddImage在各个图像上设置所有属性(尽管那里的描述确实与此相矛盾......)。

CGImageProperties Reference中,列出了CGImageDestinationSetPropertiesCGImageDestinationAddImage使用的所有(?)可能的密钥。它区分了各个图像键,格式特定键和“图像源容器属性”(只有一个键):

  

图像源容器属性

     

一般适用于容器的属性,但不一定适用于容器中的任何单个图像。

它意味着(并通过随机抽样试验支持错误)所有其他密钥应使用CGImageDestinationAddImage的单个图像进行设置。