我正在使用Regift (https://github.com/matthewpalmer/Regift)库将视频转换为GIF格式,但我不喜欢保存的GIF格式的文件大小。该库使用CGImageDestinationAddImage
函数将视频的每一帧添加到一个文件中,该函数的一个参数是一个字典,它允许您指定图像的属性,您可以设置的属性之一是kCGImageDestinationLossyCompressionQuality
,我想使用它来减小文件大小。
以下是定义要传递给CGImageDestinationAddImage
函数的属性字典的库中的原始代码:
let frameProperties = [kCGImagePropertyGIFDictionary as String:
[
kCGImagePropertyGIFDelayTime as String: delayTime
]]
我正在尝试修改此字典以包含kCGImageDestinationLossyCompressionQuality
属性:
let frameProperties = [
kCGImageDestinationLossyCompressionQuality as String: 0.5,
kCGImagePropertyGIFDictionary as String:
[
kCGImagePropertyGIFDelayTime as String: delayTime
]]
但当我尝试将相同的视频文件重新转换为GIF时,在质量或文件大小上没有区别,这意味着设置该属性没有任何影响。我的设置不正确吗?或者这个属性对GIF帧没有影响?
发布于 2015-10-11 04:45:04
我不相信你可以为一个动画的gif设置答案(关闭this kCGImageDestinationLossyCompressionQuality
)。您可以尝试在将影片文件转换为gif之前对其进行压缩或调整大小。
https://stackoverflow.com/questions/33050909
复制相似问题