我一直在使用GIMP从使用Jmol创建的PNG格式的多个帧中创建动画GIF文件,现在我想知道如何使生成的GIF文件的背景透明。您建议免费使用任何软件或网站。
我一直在使用GIMP从使用Jmol创建的PNG格式的多个帧中创建动画GIF文件,现在我想知道如何使生成的GIF文件的背景透明。您建议免费使用任何软件或网站。
Answers:
您可以使用GIFsicle使用以下选项进行此操作:
gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif
其中anim.gif
和anim_trans.gif
是源文件名和目标文件名,并且#ffffff
是您要使其透明的颜色(此处为纯白色)的十六进制代码。
(此处的重要选项是-U
/ --unoptimize
和--disposal=previous
,它们共同将动画转换为“动画书模式”,在此模式下,每帧在绘制下一帧之前都会被完全擦除。这允许向帧中添加额外的透明度,而不会让较早的帧通过该-O2
选项不是严格必需的,但它可能会通过优化框架来避免不必要地重画动画的静态部分,从而缩小生成的动画的文件大小。)
为了演示,这是来自Wikimedia Commons 的人类乙二醛酶I(GLO1)酶的动画(左),以及使用上面显示的方法(右)添加了透明度的相同动画:
Wikimedia Commons用户WillowW的原始动画,根据CC-By 3.0许可使用。
值得注意的一个细节是,如果GIFsicle命令似乎没有任何效果,则应检查背景色是否正确。例如,对于上面显示的动画,实际的背景颜色原来是#fdfffc
(即非常黄绿色的白色)而不是#ffffff
(纯白色)。您实际上无法通过肉眼分辨出区别(或者,至少我无法在此屏幕上做到这一点),但这足以使GIFsicle考虑两种颜色的区别。
另请注意,GIF文件仅支持1位透明性,这意味着透明区域的边缘将不会被抗锯齿。只要您要显示动画的背景与原始背景颜色相差不大,就可以了,但是如果是这样,您可能会发现动画边缘周围会有一些难看的颜色边缘。不幸的是,除了选择更合适的背景或重新渲染动画外,您无能为力。
cd
-ing到将gifsicle安装到的文件夹,然后从那里运行命令?还是将该文件夹添加到您的文件夹中%PATH%
?
cd
-进入目录,运行该命令非常顺利,因此我将接受您的回答。