03 июн 2013
Непрозрачный фон watermark-а у картинок формата png-8
tonik Категория: DATALIFE ENGINE » Баг-Фиксы
У нас вы можете скачать бесплатно Непрозрачный фон watermark-а у картинок формата png-8 .

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Непрозрачный фон watermark-а у картинок формата png-8
Проблема: В DLE watermark в формате png-24, потому что там прозрачный фон. Вот при наложении png-24 на png-8 этот фон не остается прозрачным а заливается цветом.

Чтобы более ясно понимать суть проблемы привожу примерв изображении.

Как это исправить, я напишу только счастливым обладателям файла /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-и =)

С уважением,
Олег Александрович a.k.a. Sander










Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.