Оптимизация PNG на PHP с помощью GD

108
03 декабря 2019, 01:40

Можно ли сжать картинку PNG, не утратив при этом её прозрачность и сохранив в новый файл, как это делается? Просмотр десятка тематических статей не увенчался успехом

Answer 1

Если речь о том, чтобы оптимизировать файл изображения, сократив его объем, то gd так не умеет, я рекомендую использовать утилиту optipng

http://optipng.sourceforge.net/

синтаксис optipng [options] file

Если речь о банальном уменьшении размера картинки, то нужно просто установить blending mode в false, опцию save alpha channel в true:

<?php
 $newImg = imagecreatetruecolor($nWidth, $nHeight);
 imagealphablending($newImg, false);
 imagesavealpha($newImg,true);
 $transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127);
 imagefilledrectangle($newImg, 0, 0, $nWidth, $nHeight, $transparent);
 imagecopyresampled($newImg, $im, 0, 0, 0, 0, $nWidth, $nHeight,
                      $imgInfo[0], $imgInfo[1]);
?>
READ ALSO
constexpr static метод

constexpr static метод

Изучаю C++, полез в constexpr, но почти сразу наткнулся на странностиУ меня есть класс Date, который хранит дату, у него есть метод static bool isLeapYear(unsigned...

139
c++ объект статической инициализации map&lt;T1,T2&gt;

c++ объект статической инициализации map<T1,T2>

Не получается правильно сконструировать класс для статической инициализации map<T1,T2>, ругается на синтаксис и просит точку с запятой там...

127
GTK+ программа не изменяет стиль

GTK+ программа не изменяет стиль

На Debian 98 c Gnome GTK+ программа не изменяет стиль

146