Добавляем на изображение водяной знак через PHP

В данном уроке демонстрируется техника работы с библиотекой PHP GD. Основная цель - добавить водяной знак на исходное изображение и генерировать результат в виде PNG картинки на сервере. В качестве дополнения будет формироваться рамка вокруг изображения и добавляться текст.

 

<?php
    if (! extension_loaded('gd')) { // Проверяем установку библиотеки GD
        echo 'GD не установлено. Обратитесь к администратору вашего сайта!';
        exit;
    }

    $sOrigImg = "pic1.jpg";
    $sWmImg = "watermark.png";

    $aImgInfo = getimagesize($sOrigImg);
    $aWmImgInfo = getimagesize($sWmImg);
    if (is_array($aImgInfo) && count($aImgInfo)) {
        header ("Content-type: image/png");

        $iSrcWidth = $aImgInfo[0];
        $iSrcHeight = $aImgInfo[1];

        $iFrameSize = 15;

        $rImage = imagecreatetruecolor($iSrcWidth+$iFrameSize*2, $iSrcHeight+$iFrameSize*2); // Создаем новое изображение
        $rSrcImage = imagecreatefromjpeg($sOrigImg); //  Создаем исходное изображение

        $aGrid[1] = imagecolorallocate($rImage, 130, 130, 130); // Определяем цвета для прямоугольной области
        $aGrid[2] = imagecolorallocate($rImage, 150, 150, 150);  
        $aGrid[3] = imagecolorallocate($rImage, 170, 170, 170);  
        $aGrid[4] = imagecolorallocate($rImage, 190, 190, 190);  
        $aGrid[5] = imagecolorallocate($rImage, 210, 210, 210);  
        for ($i=1; $i<=5; $i++) { // Наша маленькая рамка будет содержать 5 прямоугольников для эмуляции градиента
            imagefilledrectangle($rImage, $i*3, $i*3, ($iSrcWidth+$iFrameSize*2)-$i*3, ($iSrcHeight+$iFrameSize*2)-$i*3, $aGrid[$i]); // Рисуем заполненный прямоугольник
        } 

        imagecopy($rImage, $rSrcImage, $iFrameSize, $iFrameSize, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник

        if (is_array($aWmImgInfo) && count($aWmImgInfo)) {
            $rWmImage = imagecreatefrompng($sWmImg); //  Создаем изображение водяного знака
            imagecopy($rImage, $rWmImage, $iSrcWidth-$aWmImgInfo[0], $iFrameSize, 0, 0, $aWmImgInfo[0], $aWmImgInfo[1]); // Копируем изображение водяного знака на изображение источник
        }

        $iTextColor = imagecolorallocate($rImage, 255, 255, 255); // Определяем цвет текста
        $sIP = $_SERVER['REMOTE_ADDR']; // Определяем IP посетителя
        imagestring($rImage, 5, $iFrameSize*2, $iFrameSize*2, " Адрес: Your IP adress: {$sIP}, {$sOrigImg} - ({$iSrcWidth} x {$iSrcHeight})", $iTextColor); // Рисуем текст

        imagepng($rImage); // Выводим изображение
    } else {
        echo 'Image error!';
        exit;
    }
?>

Проверяем изображение источник. Затем подготавливаем новое изображение с помощью библиотеки GD и получаем исходное изображение. После чего рисуем рамку и копируем источник в новое изображение. Далее добавляем водяной знак (если он есть), формируем и добавляем текст. И выводим полученное изображение как PNG картинку.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/UHQNoZ5Bpk8/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Добавляем на изображение водяной знак через PHP | | 2012-06-19 12:03:23 | | Статьи Web-мастеру | | В данном уроке демонстрируется техника работы с библиотекой PHP GD. Основная цель - добавить водяной знак на исходное изображение и генерировать результат в виде PNG картинки на сервере. В качестве | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: