Преобразование файла PNG32 к PNG8, не теряя альфа-канал

Я использую Linux и не имею никакого доступа ни к одной из 'необычных' программ Adobe.

Я пытаюсь преобразовать существующее изображение PNG32 с альфа-каналом к PNG8. Я попробовал следующие методы:

  • convert original.png PNG8:new.png - Ужасно искажает изображение и сохранение только двоичной альфы (Не Индексируемая альфа)
  • GIMP - Сбои также, но производит лучшее качество (хороший цветной квантизатор), чем ImageMagick.
  • pngcrush -rem alla -reduce -brute original.png new.png - Сделанный меньшим изображением, но не принимал квантование во внимание (Изображение имеет меньше чем 256 цветов), таким образом выводом был все еще PNG32.

Что еще я могу попробовать?

5
задан 07.10.2009, 00:53

2 ответа

Этот Сценарий PHP добивается цели с libgd:

<?PHP

if(!isset($argv[1]) || !is_readable($argv[1])) {
    echo "Creates an 8-bit PNG from a 32-bit PNG\n\n";
    echo "Usage:\n";
    echo "\t" . $argv[0] . " input.png > output.png\n";
    echo "\t" . $argv[0] . " input.png output.png\n";
    die();
}

$inFile = $argv[1];
$outFile = $argv[2] or STDOUT;

$inImage = imagecreatefrompng($inFile);
$outImage = imagecreate(imagesx($inImage), imagesy($inImage));

imagecopy($outImage, $inImage, 0, 0, 0, 0, imagesx($inImage), imagesy($inImage));

imagepng($outImage, $outFile);

Дамп, что в файл и выполненный это как:

php convert.php input.png output.png
1
ответ дан 07.12.2019, 18:04

Ваш дистрибутив может включать pngquant. Если Вы не можете найти, что это с конфеткой / склонный - добирается, перейдите к веб-сайту. Я думаю, что это - Ваш лучший выбор.

Если у Вас есть проблемы с pngquant, можно попробовать pngout, но это - съемка общим планом. Я услышал, что это делает хорошее задание, сохраняющее альфа-канал, но может быть медленно. Возможно люди замедления испытывают, то, потому что 'стратегия' по умолчанию является 'Экстремальным значением', которое допускает автор, является медленным.

Это - Windows-программа, но (предположительно), существуют порты Linux, но ссылка на pngout странице авторов устарела. Специалист по обслуживанию порта Linux, JonoF, поддерживает страницу здесь теперь.

Я должен признаться в когда-либо то, что не использовал его.Удачи!

1
ответ дан 07.12.2019, 18:04
  • 1
    pngquant не сохраняет альфа-канал. Это производит тот же вывод как GIMP. – LiraNuna 07.10.2009, 23:23
  • 2
    pngout не будет сотрудничать - Unable to compress further: copying original file – LiraNuna 07.10.2009, 23:36
  • 3
    , ничего себе. можно ли сделать это изображение доступным где-нибудь? Я хотел бы взять трещину в нем. – DaveParillo 08.10.2009, 03:47

Теги

Похожие вопросы