【问题标题】:How to add Alpha -channels en masse with ImageMagick?如何使用 ImageMagick 添加 Alpha 通道?
【发布时间】:2012-11-23 11:21:55
【问题描述】:

假设一个目录有很多图像,其中一些错过了 alpha 通道,因此在背景下看起来很糟糕。我以为每张图片都有 alpha 通道,但现在有些图片显示为白色而不是透明。如何批量添加 Alpha 通道?

不工作

$ 在 imageAlpha.png 上转换 imageNoAlpha.png -alpha

【问题讨论】:

  • ...假设我在没有 X 的服务器上,我注意到这个缺少 alpha 通道。我几乎必须回到耗时的桌面并使用 Gimp 进行小编辑——希望我可以直接在命令行上使用 ImageMagick 执行此操作——我需要以某种方式指定:用 alpha 通道替换所有白色,即透明度。

标签: imagemagick alpha-transparency


【解决方案1】:

这将像您评论的那样将白色变为透明,但图像中的任何其他白色也将是透明的:

convert input.jpg -background none -transparent white -flatten output.png

【讨论】:

  • 谢谢! +1 最后一个想法:您能否添加白色阈值,使接近白色的颜色也变得透明?是的,显然像这样"convert input.jpg -white-threshold 88% -background none -transparent white -flatten output.png"
  • 你使用 -fuzz: 转换 input.jpg -background none -fuzz 12% -transparent white -flatten output.png
【解决方案2】:

感谢 Bonzo,即使没有抗锯齿,我也能获得非常酷的结果!您可以通过下图看到眼睛的差异。我不知道您因此丢失了多少信息,但至少我能够更好地调整事物,至少对我来说在抗锯齿方面并不那么容易。

$ convert in.png -background none -fuzz 10% -transparent white -flatten out.png

使用 bash -for-loop 或使用为 python 构建的 ImageMagick -pkg 可能是最简单的方法。我不知道哪种方法更好,我将把它留在这里以便将来改进答案。谢谢。

【讨论】:

  • 我很确定自己想多了:Zsh 有 $ someFunc in[1..10].png out[1..10].png 的功能吗?我认为确实如此,但不记得语法,思考...
猜你喜欢
  • 1970-01-01
  • 2016-09-20
  • 2011-02-04
  • 2021-07-21
  • 1970-01-01
  • 1970-01-01
  • 2016-05-09
  • 2022-12-05
  • 2023-04-07
相关资源
最近更新 更多