imagemagick - 动画,静态黑色背景?

时间:2013-05-09 07:46:12

标签: imagemagick

快点。

我有一系列图像min*.png,我想要动画成gif。

它们都是完全透明的,除了,表示我想为该帧填充的区域上的一些白点。

有没有办法从这些创建动画,使背景为黑色(以便显示whtie点?)

我对两者感兴趣:

  1. 黑色背景,并将每个连续图像粘贴到之前的图像上(因此框架i是黑色背景加上所有点到图像i
  2. 每个框架仅由(黑色背景上的图像i)
  3. 组成

    我认为1.我需要使用-dispose none而我需要使用-dispose background-dispose previous,但实际将背景设置为黑色的各种尝试都失败了(我花了很多时候阅读this imagemagick page,但我还在学习。)

    e.g。

    convert -background black -dispose background min*.png out.gif
    

    -background-dispose的各种尝试总是产生我的min*.png的gif,背景是透明的,而不是黑色的。我想我很亲密,但不确定。

1 个答案:

答案 0 :(得分:1)

这可能对黑色背景问题很有用:从ImageMagick 6.7.5开始,你可以删除透明度并用静态颜色替换它;您可以阅读有关此命令的更多信息here

希望这有帮助,不幸的是我有一个旧版本的Imagemagick,所以我不能自己尝试

ImageMagick文档示例:

  convert moon.png  -background tan  -alpha remove  alpha_remove.png

颜色“tan”取代了图片的透明区域


来自mathematical.coffee的评论

使用上面的答案,我能够生成我想要的动画。

1:连续堆积点,全部在黑色背景上。原来就像创建一个黑色背景图片放在动画的开头一样简单,并使用-coalesce

# where bg.png is a black png of the appropriate size:
convert bg.png min*.png -coalesce out.gif
# in the below the first line creates the black background
#  image, same size as my first min00.png image, for me:
convert min00.png -alpha Opaque +level-colors black \
    min*.png -coalesce out.gif

2。使用上面提到的方法:

convert min000*.png -background black -alpha remove out.gif

两者都在使用imagemagick 6.7.something。