Как наложить копирайт на фотку

Статус
В этой теме нельзя размещать новые ответы.

Juri

Мой дом здесь!
Регистрация
5 Окт 2007
Сообщения
1.064
Реакции
200
  • Автор темы
  • Заблокирован
  • #1
собственно такой сабж, интересно как наложить надпись (копирайт) на фотку. естественно с указанием координат, надпись желательно что б могла быть с русским языком. заранее спасибо
 

allov

Мой дом здесь!
Регистрация
7 Июл 2008
Сообщения
155
Реакции
217
собственно такой сабж, интересно как наложить надпись (копирайт) на фотку. естественно с указанием координат, надпись желательно что б могла быть с русским языком. заранее спасибо
Посмотрите статью, совсем несложно:
Для просмотра ссылки Войди или Зарегистрируйся Для просмотра ссылки Войди или Зарегистрируйся
Только шрифт кириллический поискать, и пожалуйста, картинка с надписью:
Для просмотра ссылки Войди или ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся

Ну, а если не охота возиться, то есть способ и полегче, практически все просмотрщики графики поддерживают добавление текста: IrfanView, XnView, FastStone Image Viewer...
 

Juri

Мой дом здесь!
Регистрация
5 Окт 2007
Сообщения
1.064
Реакции
200
  • Автор темы
  • Заблокирован
  • #3
Посмотрите статью, совсем несложно:
Для просмотра ссылки Войди или Зарегистрируйся
Только шрифт кириллический поискать, и пожалуйста, картинка с надписью:
Для просмотра ссылки Войди или ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся

Ну, а если не охота возиться, то есть способ и полегче, практически все просмотрщики графики поддерживают добавление текста: IrfanView, XnView, FastStone Image Viewer...
*** скрытое содержание ***

Спасибо но имелось не много не это, наложить надпись нужно средствами PHP на загружаемую картинку. раздел же про PHP
 

RolCom

Постоялец
Регистрация
12 Мар 2008
Сообщения
351
Реакции
108
Чтобы наложить готовую картинку, функции
imagecopy, imagecopymerge.
Чтобы наложить текст стредствами PHP, функция imagettftext (TrueType шрифт). Необходимо залить на сервер файл .ttf со шрифтом.
 

myweb

Среда обитания WEB
Регистрация
10 Сен 2007
Сообщения
545
Реакции
250
Если создать готовый рисунок с копирайтом то можно наложить через PHP

PHP:
function save_image ($filename){
global $script_path;

// сохраняем изображение во временную директорию
if ($_FILES['req_file']['type'] == 'image/jpeg' OR $_FILES['req_file']['type'] == 'image/pjpeg' OR $_FILES['req_file']['type'] == 'image/gif'){

// перемещаем загруженный файл в директорию tmp_img_upload
$uploaddir = 'images/tmp_upload/';

$tmp_img_file = basename($_FILES['req_file']['name']);
$ext = strtolower(array_pop(explode(".", $tmp_img_file )));
$tmp_filename = $uploaddir.(rand(10000,9999999)).'.'.$ext;
move_uploaded_file($_FILES['req_file']['tmp_name'], $tmp_filename);


// обработка большого изображения
$write_img = 'images/normal/'.$filename;
$set_width = 396;
$set_height = 396;
$quality = 75;


// размер загруженного изображения
list($width, $height) = getimagesize($tmp_filename);


// проверяем - нужно-ли вообще уменьшать изображение
$resize = 0;
if ($set_width < $width){$resize = 1;}
if ($set_height < $height){$resize = 1;}


if ($resize == 1){
if ($height < $width){
$scale = $width / $set_width;
$set_height = $height / $scale;
}
else{
$scale = $height / $set_height;
$set_width = $width / $scale;
}
} // end if resize
else{
$set_height = $height;
$set_width = $width;
} // end else - noresize



// Resample
$image_p = imagecreatetruecolor($set_width, $set_height);


if ($_FILES['req_file']['type'] == 'image/jpeg' OR $_FILES['req_file']['type'] == 'image/pjpeg'){
$image = imagecreatefromjpeg($tmp_filename);
}

if ($_FILES['req_file']['type'] == 'image/gif'){
$image = imagecreatefromgif($tmp_filename);
}

imagecopyresampled($image_p, $image, 0, 0, 0, 0, $set_width, $set_height, $width, $height);

$watermark = imagecreatefrompng($script_path.'images/plus2.png');
$trans = imagecolorat($watermark,2,2);
imagecolortransparent($watermark,$trans); 
$watermark_width = imagesx($watermark);  
$watermark_height = imagesy($watermark);    
imagecopymerge($image_p, $watermark, ($set_width-$watermark_width-1), ($set_height-$watermark_height-1), 0, 0, $watermark_width, $watermark_height, 80);


// Output
$ext = 'jpg';
imagejpeg($image_p, $write_img.'.'.$ext, $quality);




// обработка маленького изображения
$write_img = 'images/small/'.$filename;
$set_width = 100;
$set_height = 100;
$quality = 90;


// проверяем - нужно-ли вообще уменьшать изображение
$resize = 0;
if ($set_width < $width){$resize = 1;}
if ($set_height < $height){$resize = 1;}


if ($resize == 1){
if ($height < $width){
$scale = $width / $set_width;
$set_height = $height / $scale;
}
else{
$scale = $height / $set_height;
$set_width = $width / $scale;
}
} // end if resize
else{
$set_height = $height;
$set_width = $width;
} // end else - noresize


// Resample
$image_p = imagecreatetruecolor($set_width, $set_height);
if ($_FILES['req_file']['type'] == 'image/jpeg' OR $_FILES['req_file']['type'] == 'image/pjpeg'){
$image = imagecreatefromjpeg($tmp_filename);
}
if ($_FILES['req_file']['type'] == 'image/gif'){
$image = imagecreatefromgif($tmp_filename);
}
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $set_width, $set_height, $width, $height);

$watermark = imagecreatefrompng($script_path.'images/plus.png');
//$trans = imagecolorat($watermark,2,2);
//imagecolortransparent($watermark,$trans); 
$watermark_width = imagesx($watermark);  
$watermark_height = imagesy($watermark);    
imagecopymerge($image_p, $watermark, ($set_width-$watermark_width-1), ($set_height-$watermark_height-1), 0, 0, $watermark_width, $watermark_height, 100);

// Output
$ext = 'jpg';
imagejpeg($image_p, $write_img.'.'.$ext, $quality);
@unlink ($script_path.$tmp_filename);
} // end if - проверка типа файла

return $ext;


} // end function

где

$script_path - локальный путь
$uploaddir - временная папка
images/normal/ - большие рисунки
images/small/ - маленькие рисунки

на small, normal, $uploaddir - 777

"images/plus.png" - рисунок с копирайтом в папке images

$set_width = 396; - размеры картинки
$set_height = 396;
$quality = 75;
 
  • Нравится
Реакции: Juri

Juri

Мой дом здесь!
Регистрация
5 Окт 2007
Сообщения
1.064
Реакции
200
  • Автор темы
  • Заблокирован
  • #6
наскоько этот скрипт требователен к ресурсам? и не вжано толи это jpg png он справится?
 

foxtrialer

Постоялец
Регистрация
18 Июл 2007
Сообщения
66
Реакции
53
Встройте какую-нибкть простенькую фото-галерею с функцией watermark, да и все тут.
 

elcaste

Постоялец
Регистрация
30 Ноя 2007
Сообщения
322
Реакции
175
Этот прикрутить можно куда угодно и как угодно. Рекомендую глянуть:
Для просмотра ссылки Войди или Зарегистрируйся
 

brazer

Постоялец
Регистрация
16 Май 2006
Сообщения
87
Реакции
10
лично я использую для работы с рисунками



она позволяет уменьшать, кадрировать и т.п., и что главное - кешировать файлы, снимая нагрузку

вот к ней и можно прикрутить watermark, указанный выше
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху