Наложение прозрачного логотипа на фото с определнной полупрозрачностью

Avdoshyn

Новичок
Наложение прозрачного логотипа на фото с определнной полупрозрачностью

Собственно сабж.

Не знаю возможно ли это - но мне представляется что должно бы быть.

Наложение прозрачного логотипа на фото без проблем

$dest = ImageCreateFromJPEG($file);

$destx = imagesx($src);
$destry = imagesy($src);
$logo = "shar.png";
$logoImage = ImageCreateFromPNG($logo);

$logoW = ImageSX($logoImage);
$logoH = ImageSY($logoImage);
ImageCopy($dest, $logoImage, $image_coord_X-10, 5, 0, 0, $logoW, $logoH);
ImageJPEG($dest); // output to browser

а вот как сделать чтобы еще и сам логотип был скажем с прозрачностью 20 наложен на фото.

жду ответов.

imagealphablending($logoImage,TRUE);
imagelayereffect($logoImage,IMG_EFFECT_OVERLAY);

не помогли пока
 

kruglov

Новичок
Re: Наложение прозрачного логотипа на фото с определнной полупрозрачностью

А саму картинку в фотошопе сделать 20% и так и сохранить в 24-bit PNG ?
 

Avdoshyn

Новичок
Re: Re: Наложение прозрачного логотипа на фото с определнной полупрозрачностью

Originally posted by kruglov
А саму картинку в фотошопе сделать 20% и так и сохранить в 24-bit PNG ?
это первое что мне пришло в голову, но глобально хотелось бы сделать функцию которой можно было бы передавать opacity

imagealphablending($logoImage,TRUE);
for($x=0;$x<$logoW;$x++) {
for($y=0;$y<$logoH;$y++) {
$c = imagecolorat($logoImage,$x,$y);
$c = imagecolorsforindex($logoImage, $c);
if($c['alpha']) {
$c = imagecolorallocatealpha($logoImage, $c['red'], $c['green'], $c['blue'], 32);
imagesetpixel($logoImage, $x, $y, $c);
}
}
}


что то типа этого - но с общей прозрачностью картинки какие то грабли происходят.

ПС: кстати imagecopymerge с png некорректно работает
 
Сверху