image - 使用 ImageMagick/convert 创建半透明 PNG

标签 image imagemagick png transparency imagemagick-convert

我有 PNG 文件,我想将整个图像转换为半透明。

该图像将在 KML 文件中被引用为用于 Google 地球/ map 的图标叠加层。

使用 ImageMagick 向我建议了以下示例 转换 命令,但似乎都不起作用。

第一个例子导致错误,

$ /usr/local/bin/convert 121112142121.png -channel Alpha -evaluate Set 50% 2121112142121.png
convert: no decode delegate for this image format '121112142121.png' @ error/constitute.c/ReadImage/550.
convert: option requires an argument '-evaluate' @ error/convert.c/ConvertImageCommand/1400.

第二个未能对图像进行任何可观察到的更改:

convert filename.png -fill '#00000080' -draw 'matte 100,100 reset' output.png

虽然我可以在网络上找到许多用于从特定颜色或 alpha 蒙版创建完全透明图像的示例,但我似乎找不到任何可用于创建半透明图像或更改不透明度的示例。我想找到一种使用 convert 命令或 ImageMagick Perl 执行此操作的方法。

(ImageMagick 版本为 6.8.0-4)

最佳答案

已找到解决办法:

convert input.png -alpha set -channel A -evaluate set 50% output.png

上面的命令使整个图像(所有颜色)半透明。

我遇到的另一个问题是最新版本的 ImageMagick 是从源代码编译的,而没有安装所有最新的图像库(特别是 libpng)。如果从源代码编译,请密切注意 configure 的输出以确保找到 libpng。似乎早于 6.6 的 ImageMagick 版本和/或旧版本的 libpng 可能不支持透明 png 生成。

关于image - 使用 ImageMagick/convert 创建半透明 PNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366273/

相关文章:

c++ - ImageMagick 与 Cairo 在 vector 图形光栅化方面的对比

ruby-on-rails - Windows 7 上的回形针::错误::NotIdentifiedByImageMagickError

java - 如何在 Java Swing 中导出图像而不显示它

image - 如何用html5/css3技术替换图片

c++ - 使用 Floyd–Steinberg 抖动不起作用

database - 将照片与应用程序 : files or in sqlite database? bundle 在一起的最佳方式

c# - 将两个字节图像数据合并为一个 PDF,然后下载或打印该 PDF

ruby - ImageMagick 和 RMagick 安装问题

android - Google Play 不接受高分辨率图标,尽管它是 512x512 和 32 位 RGBA

尝试从 String 转换为 PNG 时由 ZipException 引起的 Java IIOException