使用imagemagick将不透明颜色转换为alpha


10

我有一个黑色背景的图像,前景中带有白色元素。图像具有平滑效果,因此存在“中间”像素,这些像素不是严格的黑色或白色。我想使背景透明。我找到了几个有关如何使用imagemagick进行此操作的链接,但所有链接都严格替换了一种颜色(例如,将#000000FF”替换为完整的Alpha“#00000000”)。我想保留混合色,因此如果有灰色像素“#” 777777FF”,它会变成类似“#FFFFFF77”之类的东西,或者任何有意义的东西。

有谁知道如何做到这一点?

Answers:


11

本文很好地解释了如何执行此操作:http :
//www.imagemagick.org/Usage/masking/#alpha

我在我的博客上写了一篇关于它的小文章:http :
//mostlycoincidence.blogspot.se/2012/12/imagemagick-making-glyphs-transparent.html

基本上,您要做的是创建一个蒙版,然后将蒙版应用于图像。您可以分两步执行此操作:

$ convert image.png -colorspace HSB -separate -negate image_mask.png
$ convert image.png -alpha Off \
>    image_mask.png -compose CopyOpacity -composite \
>    PNG32:image_alpha.png

这将使白色成为透明色。要使黑色变成透明色,请删除该-negate标志。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.