在保留 alpha 通道的同时将 BMP 转换为 PNG

MxL*_*evs 3 imagemagick images

我有一个以 BMP 格式存储的图像,并想使用 imagemagick 将其转换为 PNG。

我在十六进制查看器中查看了像素,注意到它们以 32bpp 存储,因此有一个 alpha 通道。透明像素具有 RGBA 值 (255, 255, 255, 0),paint.NET 将它们拾取为白色像素,可能是因为它不希望 BMP 具有透明像素?

无论如何,我使用的命令是

convert -alpha on -quality 95 in.bmp out.png
Run Code Online (Sandbox Code Playgroud)

但是,当我在 Paint.NET 中打开生成的图像(通常会正确解释透明像素)时,这些透明像素仍然是白色的。

我是否错误地转换了图像?我希望 alpha 值为 0 的像素在我常用的图像编辑器中显示为透明。

dle*_*tra 5

您在 ImageMagick 中发现了一个错误。这将在 ImageMagick 6.8.7-9 中修复。我是 ImageMagick 的开发人员之一,我刚刚将修复提交到我们的 SVN 存储库 ( http://trac.imagemagick.org/changeset/13867 )。