我有一个带有256byte全局颜色表的动画GIF。后面的帧不会扩展到完整的画布尺寸,因此它们会“覆盖”画布区域。早期图层上的图形仅被后续图层上的图形部分遮挡。我的目标是“展平”图像,以便我有一个1帧/非动画gif,它显示为动画GIF在其动画的最后一帧上(在绘制完所有帧之后)。我可以用imagemagick实现理想的结果:
convert animation.gif -flatten flattened.gif
这会创建一个名为flattened.gif的单帧GIF,看起来像animation.gif在它的最终帧上。太好了!
我的问题是flattened.gif有一个不同的(偶然更小的)全局颜色表。我有一些不寻常的特定于应用程序的要求,这意味着我需要将展平的GIF的全局颜色表保持与源的动态GIF的全局颜色表相同。
任何建议都非常感谢。
答案 0 :(得分:0)
尝试使用此命令从原始GIF中提取颜色并将其保存为palette.gif
:
convert original.gif -unique-colors palette.gif
然后,当您有最终图像时,将原始调色板应用于:
convert final.gif -remap palette.gif result.gif