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

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

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

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

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

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