Работаем с GD. Наложение лого

Поговорим ещё немного о использовании gd, приведу небольшой пример - наложение лого на картинку, на входе путь к картинке, на которую накладываем лого, переменная $IMGDIR - путь до папки с картинками, лого хранится в файле $IMGDIR/logo.png(С ПРОЗРАЧНОСТЬЮ, если нужно)

CODE
<!--ec1-->
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);         
}

Источник: PHP things ( Блоги на Realcoding.NET )



Опубликовал admin
29 Сен, Пятница 2006г.



Программирование для чайников.