imagemagick - 具有静态黑色背景的动画?

Posted

技术标签:

【中文标题】imagemagick - 具有静态黑色背景的动画?【英文标题】:imagemagick - animate, with a static black background? 【发布时间】:2013-05-09 07:46:12 【问题描述】:

只是匆匆忙忙。

我有一系列图像 min*.png,我想将其制作成 gif 动画。

它们都是完全透明的,除了我要为该框架填充的区域上的一些白点。

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

我对两者都感兴趣:

    黑色背景,并将每个连续的图像粘贴到前一个图像的顶部(所以框架i是黑色背景加上图像i之前的所有点) 每一帧只包含(黑色背景上的图像 i)

我认为对于 1. 我需要使用 -dispose none,对于 2 我使用 -dispose background-dispose previous,但实际上将背景设置为黑色的各种尝试都失败了(我花了很多时间阅读 @ 987654321@,但我还在学习)。

例如

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

-background-dispose 的各种尝试都生成了我的min*.png 的gif,其背景是透明的,而不是黑色的。我想我很接近了,但不确定。

【问题讨论】:

【参考方案1】:

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

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

ImageMagick 文档中的示例:

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

颜色“棕褐色”代替图片的透明区域


来自 math.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。

【讨论】:

感谢您的建议 - 看起来它适用于我的第二点,但不确定我的第一点。不幸的是,我目前使用的是 imagemagick 6.7.0,所以必须在某个地方找到更新的版本! 好的,我已经尝试了更新版本的 imagemagick,它肯定适用于第 2 部分)在我的问题中(每帧都有黑色背景,然后它被组合成动画)。你知道如何实现 1) 吗? (依次叠加每张图像,使点随着时间的推移逐渐增加,然后再放黑色背景?) OK 计算出第 1 号):将编辑您的答案并接受。

以上是关于imagemagick - 具有静态黑色背景的动画?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ImageMagick 创建的动画 gif 具有故障块颜色背景

Imagemagick 旋转透明图像上不需要的黑色背景

php Imagemagick jpg 黑色背景

ImageMagick消除背景噪音并将其留白

如何使用 ImageMagick 将高度图分成几层?

ios动画中的黑色背景