【发布时间】:2016-09-26 02:27:50
【问题描述】:
我有一个带有 256 字节全局颜色表的动画 GIF。后面的帧不会延伸到完整的画布尺寸,因此它们会“修补”画布区域。较早图层上的图形仅被较晚图层上的图形部分遮挡。我的目标是“展平”图像,以便我有一个 1 帧/非动画 gif,它显示为动画 GIF 在其动画的最后一帧上(在绘制完所有帧之后)。我可以使用 imagemagick 获得想要的结果:
convert animation.gif -flatten flattened.gif
这会创建一个名为 flattened.gif 的单帧 GIF,它看起来就像 animation.gif 在它的最后一帧上所做的那样。太好了!
我的问题是 flattened.gif 有一个不同的(顺便说一下更小的)全局颜色表。我有一些不寻常的特定于应用程序的要求,这意味着我需要保持扁平化 GIF 的全局颜色表与源动画 GIF 的全局颜色表相同。
非常感谢任何建议。
【问题讨论】:
-
尝试使用
convert original.gif -unique-colors palette.gif从原始GIF 中提取颜色,然后使用convert final.gif -remap palette.gif result.gif将该调色板应用于最终图像。你可能想要也可能不想抖动。 -
完美。谢谢马克!
-
太棒了!很高兴它为您的目的解决了 - 祝您的项目好运。!我会将它添加为正确的答案,这样每个人都可以看到它而无需费力地通过 cmets,并且如果您考虑接受它,ImageMagick 问题的回答率就会正确表示。
标签: imagemagick