Demmiurg123
Guest
watermark+png= проблемка
Нужно наложить на файл jpeg, полупрозрачный png24
Написал функцию, где:
$src - исходный jpeg
$logo-файл png
$x- отступ снизу
$y- отступ справа
function img_watermark($src, $logo, $x=10, $y=10, $quality=90){
if (!file_exists($src) || !file_exists($logo)) return false;
header( "Content-type: image/jpeg");
$src_img = ImageCreateFromJPEG($src);
imagealphablending ($src_img, true);
$size_src = getimagesize($src_img);
$logo_img = ImageCreateFromPNG($logo);
$size_logo = getimagesize($logo_img);
$bottom=$size_src[0]-($size_logo[0]+$x);
$right=$size_src[1]-($size_logo[1]+$y);
imagecopymerge ($src_img, $logo_img, $bottom, $right,0,0, $logoW, $logoH, 90);
imageJPEG($src_img, $src, 90);
ImageDestroy($src_img);
ImageDestroy($logo_img);
return true;
}
вызываю
img_watermark($DOCUMENT_ROOT.'/photo/photo1.jpeg', $DOCUMENT_ROOT.'/i/logo.png', 50, 50, 90);
но у png вместо полупрозрачности появляется белый фон. =((
Помогите плиз!
PS: Сразу прошу прощения, что не там запостил с первой попытки.
Нужно наложить на файл jpeg, полупрозрачный png24
Написал функцию, где:
$src - исходный jpeg
$logo-файл png
$x- отступ снизу
$y- отступ справа
function img_watermark($src, $logo, $x=10, $y=10, $quality=90){
if (!file_exists($src) || !file_exists($logo)) return false;
header( "Content-type: image/jpeg");
$src_img = ImageCreateFromJPEG($src);
imagealphablending ($src_img, true);
$size_src = getimagesize($src_img);
$logo_img = ImageCreateFromPNG($logo);
$size_logo = getimagesize($logo_img);
$bottom=$size_src[0]-($size_logo[0]+$x);
$right=$size_src[1]-($size_logo[1]+$y);
imagecopymerge ($src_img, $logo_img, $bottom, $right,0,0, $logoW, $logoH, 90);
imageJPEG($src_img, $src, 90);
ImageDestroy($src_img);
ImageDestroy($logo_img);
return true;
}
вызываю
img_watermark($DOCUMENT_ROOT.'/photo/photo1.jpeg', $DOCUMENT_ROOT.'/i/logo.png', 50, 50, 90);
но у png вместо полупрозрачности появляется белый фон. =((
Помогите плиз!
PS: Сразу прошу прощения, что не там запостил с первой попытки.