Потребител Парола | Регистрация | Забравена парола
Меню
· Начало
· Файлове
· Форум
· Връзки
· Категории на уроците
· За контакти
· Фото галерия
· Търсене
Кажи на приятел

Вашия email:
email на приятел:
Копие за вас?
Реклама

Как се слага воден знак

PHP & MySQLТози път ще Ви покажа, как можете бързо и лесно да сложите воден знак на картинките във вашата PHP галерия. Методиката е проста, начини има разни и разнообразни, но днес ще ви покажа как можете да сложите воден знак на файл, без да променяте оригинала!

1. Създайте си файл със някакво име, например "img.php".

2. Да предположим, че имате MySQL база данни с id-та на снимките и съответно имената на файловете.

3. Ето примерен код:

//тук си сложете MySQL глупости, които да сложат името на файла в $img
//водния знак ни е във файл "mark.png" от тип !!!PNG!!! и е в променлива $cop
header("Content-type: image/jpg"); //подменяме HEADER-ите за да знае браузъра, че това, което ще дойде от този файл е картинка, а не text/html. Това е MIME Type (питайте Google, за повече инфо)
$image = ImageCreateFromJPEG($img); //създаваме променлива, която носи съдържанието на картинката ни
$mark = ImageCreateFromPNG($cop); // създаваме променлива, която носи съдържанието на водния знак
$image_dim_x = ImagesX($image); //измерваме ширината на картинката
$image_dim_y = ImagesY($image); //измерваме височината на картинката
$mark_dim_x = ImagesX($copyright); //измерваме ширината на водния знак
$mark_dim_y = ImagesY($copyright); //измерваме височината на водния знак
$where_x = ($image_dim_x - $copyright_dim_x) / 2; //ще сложим водния знак по средата
$where_y = $image_dim_y - $copyright_dim_y; //на височина ще е точно на дъното на картинката
ImageCopy ($image, $mark, $where_x, $where_y, 0, 0, $mark_dim_x, $mark_dim_y); //сливаме картинката и водния знак
ImageJPEG($image); //извежда се новото съдържание на картинката
ImageDestroy($image); //изчистване на буфера
ImageDestroy($copyright); //и пак...

4. И така... вече подменете src на картинките с img.php?id=123 примерно...

5. Ето още една малка идейка... можете да направите така, че при всяко зареждане на картинка, тя да има различен воден знак, избран произволно от няколко възможни! Яко нали?

Просто си създайте няколко водни знака, имената на които да се различават само по една цифра накрая, и когато залагате $cop направете нещо подобно:

$cop = "mark".rand(1,5).".jpg"; //избираме между mark1.png, mark2.png, mark3.png, mark4.png и mark5.png

6. Донагласете си нещата, че да проработи и внимавайте с правата над файловете, за да може img.php да работи с тях!

Дано съм бил полезен с този урок!
Пример на същия код в действие можете да видите в сайта ми - www.teen4e.com
· smilev на January 12 2011 10:41:48 · 0 Коментари · 1870 Прочитания · Отпечатай
Коментари
Няма добавени коментари.
Напиши коментар
Моля влезте, за да коментирате.
Оценка
Рейтингите са достъпни само за регистрирани.

Моля влезте или се регистрирайте за да гласувате.

Няма оценки.
Вход
Потребител

Парола



Не сте регистрирани?
Натиснете тук за регистрация.

Забравена парола?
Натиснете тук за нова.
Анкета
С каква операционна система работите











Трябва да влезете за да гласувате.
ЧАТ
Трябва да влезате за да пуснете съобщение.

Няма съобщения.
Статистика