![将 BMP 转换为 PNG,同时保留 alpha 通道](https://linux22.com/image/1375319/%E5%B0%86%20BMP%20%E8%BD%AC%E6%8D%A2%E4%B8%BA%20PNG%EF%BC%8C%E5%90%8C%E6%97%B6%E4%BF%9D%E7%95%99%20alpha%20%E9%80%9A%E9%81%93.png)
我有一个以 BMP 格式存储的图像,想使用 imagemagick 将其转换为 PNG。
我查看了十六进制查看器中的像素,发现它们以 32bpp 存储,因此有一个 alpha 通道。透明像素具有 RGBA 值 (255, 255, 255, 0),paint.NET 将它们选为白色像素,可能是因为它不希望 BMP 具有透明像素?
无论如何,我使用的命令是
convert -alpha on -quality 95 in.bmp out.png
但是,当我在 Paint.NET(通常可以正确解释透明像素)中打开生成的图像时,那些透明像素仍然是白色的。
我是否错误地转换了图像?我希望 alpha 值为 0 的像素在我常用的图像编辑器中显示为透明。
答案1
您发现了 ImageMagick 中的一个错误。此错误将在 ImageMagick 6.8.7-9 中修复。我是 ImageMagick 的开发人员之一,我刚刚将修复提交到我们的 SVN 存储库 (http://trac.imagemagick.org/changeset/13867)。