[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Водяной знак на занруженном фото
m4a1fox
Всем добрый вечер! Господа, на просторах интернета нашел небольшой скрипт, делающий водяной знак!

function waterMark($filename){

$sOrigImg = $filename;
$sWmImg = "stars.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 = 0;

$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]); // Копируем изображение водяного знака на изображение источник
}
imagepng($rImage); // Выводим изображение
}
}



Работает изумительно, но.... это что касается статических фото, кот. уже загружены в папку на сайте, я же хочу сделать, такую весчь. У меня реализованна функция закачки и ресайза картинки + созд. ее уменьшенная копия (это делает класс). Вопрос в следующем - как мне изменить скрипт, что бы он наносил водянной знак и созд. изображение а после этого оно заносилось (копировалось) в папку... проблема в том, что не получается составить скрипт так, что бы он на лету формировал это изображение. Может стоит применять его еще к временному файлу. В общем, помогите с логикой!



Спустя 3 часа, 10 минут, 55 секунд (20.09.2011 - 20:03) redreem написал(а):
что мешает проаплоадидь картинку, и сразу же применить эту функцию к проаплоаденой картинке?

Спустя 10 часов, 5 минут, 18 секунд (21.09.2011 - 06:08) XCross написал(а):
Свернутый текст
Как мне стиль нравится =). Тож хочу, жаль что это дурной тон =(

Спустя 4 минуты, 52 секунды (21.09.2011 - 06:13) EvilDev написал(а):
Почему не Imagick? Быстрее будет и кода меньше.
Не совсем понял o_O
Ты берешь файл, после чего мувишь его туда куда надо, после делаешь с ним все изменения (сначала тумбу, потом оригинал) и сохраняешь в этот же файл
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.