Использование PHP для рендеринга PNG-24 в PNG-8 в браузерах? - PullRequest
0 голосов
/ 24 февраля 2012

Существует ли функция PHP, которая может принимать путь изображения PNG-24 в качестве параметра и затем возвращать версию PNG-8 в веб-браузерах?

Например, HTML-код оригинального PNG-24:

<img src="image/path/lorem.png">

И тогда это вернет версию PNG-8 в веб-браузерах:

<img src="convert-png24-to-pnp8.php?image/path/lorem.png">

Изображения PNG-24, которые я хочу преобразовать, не имеют полупрозрачных пикселей, но имеют полностью прозрачные пиксели.

Ответы [ 3 ]

0 голосов
/ 09 апреля 2012

Если вы можете вызвать оболочку, вы можете использовать pngquant для выполнения этой работы.Это (партия) преобразует PNG-24 в PNG-8 для вас.

http://pngquant.org/

0 голосов
/ 11 апреля 2012

Опираясь на ответ SERPRO выше, используя ImageMagick, вы можете сделать что-то вроде:

$image = new Imagick("mypng24.png");
$image->setImageFormat("png8");
header( "Content-Type: image/png" );
echo $image;

Это не проверено, но должно дать вам кое-что для продолжения. Форматы, которые ImageMagick может экспортировать, перечислены ниже: http://www.imagemagick.org/script/formats.php

0 голосов
/ 24 февраля 2012

Вы можете конвертировать изображение с помощью ImageMagick .

Преобразование PNG-24 в PNG-8: http://www.whoisgregg.com/imagemagick/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...