Как защитить картинки водяным знаком на PHP
  

Как защитить картинки водяным знаком на PHP30.10.2010 00:00

Этот код предназначен для программистов PHP. Как сделать самому "водяной знак"? Достаточно просто, необходима библиотека GD.

Часто клиенты просят установить защиту на картинки. Это можно сделать и в Фотошопе (или другой аналогичной программе). Но когда картинок много, то выручить может только PHP.

 

list($width, $height) = getimagesize('image.jpg');
if($width>300) $width=(INT)($width/2)-120; else $width=10;
$height=(INT)($height/2)+12;
// 300, 120, 12- размеры картинки и надписи

$img = ImageCreateFromJpeg('image.jpg');
$color = ImageColorAllocate($img,0xFF,0xFF,0xFF);
// 0xFF,0xFF,0xFF - белый цвет

ImageTTFText($img,18,0, $width, $height, $color,'arial.ttf','www.yoursite.com');
// 18 - размер шрифта. arial.ttf- шрифт. нужно загрузить файл в корень сайта. 'www.yoursite.com' - надпись

$color = ImageColorAllocate($img,0x99,0x99,0x99);
// 0x99,0x99,0x99 серый цвет

ImageTTFText($img,18,0, $width+1, $height+1, $color,'arial.ttf','www.yoursite.com');
// вторая надпись с небольшим сдвигом делается для того, чтобы надпись была видна на разных изображениях

imagejpeg($img, 'image.jpg', 100);
// 'image.jpg' - читать и записывать в тот же файл возможно. 100- процент сжатия для JPG, можно установить меньше, но не желательно.

imagedestroy($img);

Что получается в результате:

 

<<< Как добавить на сайт карту от Яндекс.Карты
Защитить e-mail от роботов спамеров >>>