使用 irfanview PNG 转换器保留现有的 alpha 通道

MxL*_*evs 7 irfanview

我尝试了很多不同的工具,发现 Irfanview 在最高压缩设置下转换为 PNG 时给出了有希望的结果。

我遇到的一个问题是我的原始图像设置了 alpha 通道。Irfanview 的 PNG 转换器提供了一个名为“保存透明颜色”的选项,它允许我选择应该使用哪种颜色作为透明颜色,但这不是正确的方法,因为您从中采样的图像仅呈现 RGB,许多图像编辑器只是将透明部分的 RGB 值(值为 0)设置为 (0, 0, 0)(例如paint.NET)或(255, 255, 255)(imagemagick 就是这样做的)

如果我将透明色设置为黑色像素,那么所有黑色像素都将是透明的,这是不可取的。

irfanview 有没有提供自动检测源图像是RGB24 还是RGBA32 并自动转换成合适格式的方法?(RGB24 => RGB24,RGBA32 => RGBA32)。我没有过多地研究 PNGOUT 插件选项,但“自动”选项似乎并没有像我认为的那样工作,而且我不想花时间优化每个块,因为无论如何,节省的钱并不重要。

(否则我可能会更深入地了解 imagemagick 的质量选项)

han*_*njo 3

IrfanView 首先是一个图像查看应用程序,而不是一个图像编辑应用程序(尽管该应用程序中存在许多有用的工具)。当谈到保存 Alpha 通道时,IrfanView 的功能非常有限。IrfanView 论坛中也对此进行了解释:

Irfanview 基本上是一个图像查看器。Alpha 通道仅用于渲染背景。然后alpha通道就消失了。保留 Alpha 通道意味着使用更多内存,并且必须在所有图像操作中处理它。这意味着要重写大量代码。

使用不同的工具在编辑过程中保留 Alpha 通道(例如 Paint.NET)。

如果您主要研究 PNG 文件压缩,我建议您看一下ImageOptim(如果您使用的是 Mac)、Trimage(Linux)或FileOptimizer(Windows,请注意:它似乎是广告软件)。

如果您想使用 ImageMagick,请查看alpha参数。如果我理解正确的话,你需要的是-alpha set