@cryp24

Как задать прозрачность картинки при парсинге и создании с помощью imagepng imagecreatefromstring?

Появилась необходимость парсить картинки. Картинки могут быть разного формата, погуглив немного нашел решение которое мне с начало подошло:
$fileout= 'data_images/'.date("Y").'/'.date("m").'/'.date("d").'/'.$name_img.'.png';
imagepng(imagecreatefromstring(file_get_contents($url_img)),$fileout);

можно сказать универсальное, то есть на входе функция получает разные форматы, а на выходе имеем *.png. Через некоторое время обнаружил что если прозрачное пнг через нее прогнать то получится картинка с черным фоном. Я не против если бы она теряла прозрачность но оставалась с белым фоном.
Можно ли реализовать чтоб либо фон был белым на выходе либо сохранялась прозрачность, и чтоб без лишних проверок на исходный формат и тд?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
Надо добавить пару строк кода
$image = imagecreatefromstring(...);
imagesavealpha($image, true);
imagealphablending($image, false);
imagepng(..., PNG_ALL_FILTERS);

Как то так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы