GD, наложение водяного знака с альфа-прозрачностью

Lithium366

Новичок
GD, наложение водяного знака с альфа-прозрачностью

Читал топики, читал примеры на php.net но так и не нашел ответа. imagecolortransparent заменяет нужный цвет на прозрачность. А как быть с альфа?
 

Dagdamor

Новичок
Lithium366
Сваргань полупрозрачную картинку в Фотошопе, сохрани ее как PNG-24, грузи в скрипт через imagecreatefrompng, накладывай на изображение через imagecopy.
 

Lithium366

Новичок
Dagdamor
А вы пробовали? У меня накладывается, но с обычной gif-овой прозрачностью, а остальная часть изображения 100% не прозрачная
 

Dagdamor

Новичок
Lithium366
Да, пробовал, все работает.
Может, на сервере установлена старая версия GD? (GD1 например)
Может, исходное изображение - не truecolor?
Выложи линк на картинку, у которой бьется прозрачность.
 

Lithium366

Новичок
Dagdamor
http://www.ljplus.ru/img4/l/i/lithium1300/test_bg.png

-~{}~ 17.10.07 12:34:

GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.10
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
JIS-mapped Japanese Font Support enabled

-~{}~ 17.10.07 12:38:

Не знаю как у вас это работало, но наткнулся на линк, в котором народ извращается с помощью специально написанного класса. И то только для того чтобы применить альфа прозрачность ко всему накладываемому изображению.
 

Lithium366

Новичок
Mr_Max
PHP:
$im = imagecreatefromgif(substr(DIR_ROOT, 0, -1)."/".CURRENT_VERSION."/views/images/public/grid.gif");
$tmp = imagecreatefrompng(substr(DIR_ROOT, 0, -1)."/".CURRENT_VERSION."/views/images/public/test_bg.png");
imagealphablending($im, true);
imagecopy($im, $tmp, 10, 10, 0, 0, imagesx($tmp)-1, imagesy($tmp)-1);
-~{}~ 17.10.07 12:54:

не совсем понял почему надо применять imagealphablending к изначальной картинке, тем не менее, не работает

-~{}~ 17.10.07 12:54:

в любом случае :
Notice that AlphaBlending is ON by default.
So, only use this function if you don't want to use AlphaBlending.

-~{}~ 17.10.07 12:59:

Вопрос снят. Нужно было делать еще imagecreatetruecolor от $im
Всем спасибо
 

Dagdamor

Новичок
Lithium366
Очень странно... вроде и картинка твоя в порядке, и настройки на сервере в норме.
Как вариант - попробуй создать пустое изображение функцией imagecreatetruecolor, на него наложить обрабатываемое изображение, и поверх него наложить водяной знак. Хотя я как-то обходился без подобных плясок. :/

UPD: :)
 
Сверху