Я перепробовал множество различных инструментов и обнаружил, что Irfanview дает многообещающие результаты при преобразовании в PNG с самыми высокими настройками сжатия.
Одна проблема, с которой я столкнулся, это когда у моего исходного изображения установлен альфа-канал. Конвертер PNG от Irfanview предоставляет опцию "Сохранить прозрачный цвет", которая позволяет мне выбрать, какой цвет должен использоваться в качестве прозрачного, но это неправильный способ сделать это, потому что изображение, из которого вы берете образцы, отображает только RGB, и многие графические редакторы просто устанавливают значения RGB для прозрачных сечений (значение 0) на (0, 0, 0) (например, paint.NET) или (255, 255, 255) (imagemagick делает это)
Если я установлю прозрачный цвет как черный пиксель, то все черные пиксели будут прозрачными, что нежелательно.
Предоставляет ли irfanview способ автоматически определять, является ли исходное изображение RGB24 или RGBA32, и автоматически преобразовывать его в соответствующий формат? (RGB24 => RGB24, RGBA32 => RGBA32). Я не слишком много смотрел на параметры плагина PNGOUT, но "авто" опции, похоже, не работают так, как я думаю, они должны работать, и я не хочу тратить время на то, чтобы оптимизировать каждый блок, так как экономия не так уж и значительна.
(иначе я мог бы заглянуть глубже в параметры качества imagemagick)