Все для DataLife Engine / Все для DLE / Полезные статьи / Решение проблемы непрозрачного фона watermark для dle

Решение проблемы непрозрачного фона watermark для dle



Итак какую проблему решает Багфикс непрозрачного фона watermark для dle
Если вы используете watermark ( водяной знак Вашего веб-ресурса ) то наверное замечали, что при наложении знака на картинки с прозрачным фоном отображение искажается, не остается прозрачным, а заливается цветом.
Это проблема: в DataLife Engine watermark в формате png-24, при наложении png-24 на png-8 .
На скрине достаточно понятно видно как происходит наложение и к чему это может приводить.
Решение проблемы непрозрачного фона watermark для dle
Ошибка в версии: Все версии

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

Предлагаем скачать всё для dle сайта решение проблемы непрозрачного фона watermark для dle

bagfiks-neprozrachnogo-fona-watermark-a-u-kartinok-formata-png-8.rar [36,44 Kb] (cкачиваний: 71)
  • 80

Комментарии 5

dgonke от 22 мая 2013 23:13
dle9, теперь понятненько. Спасибо за разъяснение.
dle9.com от 22 мая 2013 22:30
dgonke,
так это зашифрованный файл, вы пользуетесь демо версией с официального сайта. там 80% все зашифрована ...
dgonke от 22 мая 2013 22:18
dle9,
нет там такой строки, проверил несколько раз. Код идёт одной строкой в документе.
Сделал скрин кода

Внимание! У Вас нет прав для просмотра скрытого текста.
dle9.com от 22 мая 2013 15:25
Цитата: dgonke
imagecopy( $this->img['src'

плохо искали в самом конце есть такая строчка
dgonke от 22 мая 2013 11:47
У меня сейчас стоит демо версия движка Dle9.7
Хотел сделать, что бы водяной знак отображался на всех изображениях еле заметно (был прозрачен). Перепробовал всё, но поменять не получается, надпись на белом изображении получается темной, а на темном белой. Как исправить не могу понять. То что вы написали выше, то я просто не нахожу в этом документе этой строки. Как решить эту проблему?
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent