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

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

Juri

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

Ну, а если не охота возиться, то есть способ и полегче, практически все просмотрщики графики поддерживают добавление текста: IrfanView, XnView, FastStone Image Viewer...
 
  • Автор темы
  • Заблокирован
  • #3
Посмотрите статью, совсем несложно:
Для просмотра ссылки Войди или Зарегистрируйся
Только шрифт кириллический поискать, и пожалуйста, картинка с надписью:
Для просмотра ссылки Войди или ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся

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

Спасибо но имелось не много не это, наложить надпись нужно средствами PHP на загружаемую картинку. раздел же про PHP
 
Чтобы наложить готовую картинку, функции
imagecopy, imagecopymerge.
Чтобы наложить текст стредствами PHP, функция imagettftext (TrueType шрифт). Необходимо залить на сервер файл .ttf со шрифтом.
 
Если создать готовый рисунок с копирайтом то можно наложить через 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
  • Автор темы
  • Заблокирован
  • #6
наскоько этот скрипт требователен к ресурсам? и не вжано толи это jpg png он справится?
 
Встройте какую-нибкть простенькую фото-галерею с функцией watermark, да и все тут.
 
Этот прикрутить можно куда угодно и как угодно. Рекомендую глянуть:
Для просмотра ссылки Войди или Зарегистрируйся
 
лично я использую для работы с рисунками



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

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