v3shin
@v3shin
Веб-шаман

Как конвертировать png в webp без белого фона?

Всем привет. Есть проблема с конвертированием png в webp: некоторые изображения конвертируются с белым фоном, а некоторые - с прозрачным. Надо чтобы все конвертировались с прозрачным. Код конвертации един для всех изображений:
$img = imagecreatefrompng($origFilePreset);
imagepalettetotruecolor($img);
imageWebp($img, $nameNewWebpFullPath, 100);
imagedestroy($img);

При этом тот же код, будучи выполнен через консольную команду yii нормально отрабатывает и конвертирует изображение с прозрачным фоном. Конфиги идентичны, папка ext одна и та же. Что это может быть и в какую сторону смотреть?
  • Вопрос задан
  • 513 просмотров
Решения вопроса 1
v3shin
@v3shin Автор вопроса
Веб-шаман
Разгадка оказалась проста и заковыриста. На проекте для генерации изображений разных размеров использовались две библиотеки: встроенная gd и yii\imagine. В некоторых случаях изображение генерировалось напрямую через gd - тогда фон получался прозрачным. А в некоторых - через yii\imagine, и тогда фон получался белым. Проблема решилась установкой прозрачного фона по умолчанию:
yii\imagine\Image::$thumbnailBackgroundAlpha = 0;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 18:38
1500 руб./в час
19 апр. 2024, в 18:36
1500 руб./за проект
19 апр. 2024, в 18:36
30000 руб./за проект