Итак, какую проблему решает "Багфикс непрозрачного фона watermark для dle"? Если вы используете watermark ( водяной знак Вашего сайта ) то наверное замечали, что при наложении знака на картинки с прозрачным фоном отображение искажается, не остается прозрачным, а заливается цветом. Это проблема: в DataLife Engine 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 =)
|