Сжатие файлов PNG в PHP
Я создаю файл PNG с расширением cairo PHP. Изображение содержит фон и текст. Теперь я хочу сжать эти изображения с помощью PHP после того, как они сгенерированы cairo. Есть ли какая-нибудь библиотека для этого?
Я нашел инструмент pngcrush. Но это инструмент командной строки. Я не хочу вызывать вызов system
. Если нет решения на PHP, подойдет решение на C. В этом случае я сделаю расширение PHP.
Я прочитал этот связанный с вопрос. Но ответа нет в этом.
3 answers
Я бы взглянул на pngoptimizer. Вы можете получить исходный код для него в нижней части страницы, и у него также есть отдельная версия CLI.
Единственная проблема в том, что источником является C++, а не ANSI C. Я никогда не делал расширения PHP, поэтому не знаю, имеет ли это значение.
Вы можете использовать imagepng()...
//If you don't already have a handle to the image and it's just on the file system...
$im = imagecreatefrompng("yourGenerateFile.png");
$quality = 5; //0 - 9 (0= no compression, 9 = high compression)
imagepng($im, 'file/to/save.png', $quality); //leave out filename if you want it to output to the buffer
imagedestroy($im);
Для кода C взгляните на ImageMagick. Похоже, что также существует расширение PHP.