|
Работаем с GD. Наложение лого
realcoding
PHPПн 05 февраля 2007 270 0
Поговорим ещё немного о использовании gd, приведу небольшой пример - наложение лого на картинку, на входе путь к картинке, на которую накладываем лого, переменная $IMGDIR - путь до папки с картинками, лого хранится в файле $IMGDIR/logo.png(С ПРОЗРАЧНОСТЬЮ, если нужно)
function SetLogo($img)
{
global $IMGDIR;
switch(strtolower(GetExpansion($img)))
{
case "jpg":
$srcImage = @ImageCreateFromJPEG($img);
break;
case "gif":
$srcImage = ImageCreateFromGIF($img);
break;
case "png":
$srcImage = ImageCreateFromPNG($img);
break;
default:
return -1;
break;
}
$logoImage = ImageCreateFromPNG("$IMGDIR/logo.png");
$srcWidth = ImageSX($srcImage);
$srcHeight = ImageSY($srcImage);
$logoWidth = ImageSX($logoImage);
$logoHeight = ImageSY($logoImage);
imageAlphaBlending($logoImage, false);
imageSaveAlpha($logoImage, true);
$trcolor = ImageColorAllocate($logoImage, 255, 255, 255);
ImageColorTransparent($logoImage , $trcolor);
imagecopy($srcImage, $logoImage, $srcWidth - $logoWidth, $srcHeight - $logoHeight, 0, 0, $logoWidth, $logoHeight);
unlink($img);
switch(strtolower(GetExpansion($img)))
{
case "jpg":
ImageJPEG($srcImage, $img, 100);
break;
case "gif":
ImageGIF($srcImage, $img);
break;
case "png":
ImagePNG($srcImage, $img);
break;
}
ImageDestroy($srcImage);
}
|