Непрозрачный фон watermark-а у картинок формата png-8
Наглядный пример:
Как видим, для наглядности, даже 4dle приложил свою руку :)
Как это исправить, я напишу только счастливым обладателям файла /engine/classes/thumb.class.php
Итак, открываем вышеназванный файл, ищем строку:
Заменяем ее на:
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
Как видим, для наглядности, даже 4dle приложил свою руку :)
Как это исправить, я напишу только счастливым обладателям файла /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