Перейти к публикации

Непрозрачный фон watermark-а у картинок формата png-8


Рекомендованные сообщения

1305536647_png8.png

Проблема: В DLE watermark в формате png-24, потому что там прозрачный фон. Вот при наложении png-24 на png-8 этот фон не остается прозрачным, а заливается цветом.

Ошибка в версии: Все версии

Автор: Олег Александрович a.k.a. Sander

Исправляем

Открываем /engine/classes/thumb.class.php и ищем строчку:

imagecopy( $this->img['src'], $watermark, $watermark_x, $watermark_y, 0, 0, $watermark_width, $watermark_height );
Заменяем ее на:
if( $this->img['format'] == "PNG" ) {

            $png8fix = imagecreatetruecolor( $image_width, $image_height );

            imagecopy( $png8fix, $this->img['src'], 0, 0, 0, 0, $image_width, $image_height );

            imagecopy( $png8fix, $watermark, $watermark_x, $watermark_y, 0, 0, $watermark_width, $watermark_height );

            imagecopy( $this->img['src'], $png8fix, 0, 0, 0, 0, $image_width, $image_height );

            imagedestroy( $png8fix );

        }else imagecopy( $this->img['src'], $watermark, $watermark_x, $watermark_y, 0, 0, $watermark_width, $watermark_height );

Готово. Теперь можем забыть про непрозрачные watermark-и :)

Изменено пользователем ibred
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...