Почему я бросил вести этот сайт! Потому, что система ведет себя по-хамски по отношению к посетителям сайта, навязывая последним бесконечное количество баннеров-заглушек контента, особенно пришедшим с мобильных устройств!
Водяной знак на изображение в PHP Защита фото от копирования
DownLoad_Free

Водяной знак на изображение в PHP Защита фото от копирования - Архив

Нашли ошибку или
хотите что-то сообщить -
жмите Ctr+Enter Система Orphus



    [Ленточный вид форума] [Поиск] [RSS]



  • Страница 1 из 1
  • 1
Архив » История мировых и локальных событий » История развития сайта » Водяной знак на изображение в PHP Защита фото от копирования (Наложение надписей и подложки на рисунок в PHP для сайта)
Водяной знак на изображение в PHP Защита фото от копирования
Дата: Среда, 13.04.2011, 08:44 | Сообщение # 1
Группа: Администраторы
Сообщений: 1530
Модуль защиты изображения водяным знаком или текстовой подписью
-------------------------------------------------------------------------------------------------------------

Создайте PHP файл wm.php

<?

Define('WATERMARK_IMAGE', './wm.png', NULL); // путь к изображению водяного знака
Define('WATERMARK_PERCENT', '20', NULL); // прозрачность рисунка (%)

Define('WATERMARK_TEXT', 'Copyright © 2011 kachay.ucoz.org', NULL); //
Define('WATERMARK_TEXT_FONT', '5', NULL); // font 1 / 2 / 3 / 4 / 5
Define('TEXT_SHADOW', '1', NULL); // 1 - yes / 0 - no
Define('TEXT_COLOR', '#cccccc', NULL); // text color

// GENERAL SETTINGS (расположение текста; рисунка)
Define('WATERMARK_ALIGN_H', 'center', NULL); // left / right / center
Define('WATERMARK_ALIGN_V', 'center', NULL); // top / bottom / center
Define('WATERMARK_MARGIN', '10', NULL); // margin

// ----------------------------------------------------------------------------------------

$dr=preg_replace('/modify\.php.+/', '', $_SERVER['PHP_SELF']);
$filename=str_replace($dr, './', $_SERVER['PATH_INFO']);

$lst=GetImageSize($filename);
$image_width=$lst[0];
$image_height=$lst[1];
$image_format=$lst[2];

if ($image_format==1) {
Header("Content-Type:image/gif");
readfile($filename);
exit;
} elseif ($image_format==2) {
$old_image=imagecreatefromjpeg($filename);
} elseif ($image_format==3) {
$old_image=imagecreatefrompng($filename);
} else {
readfile($filename);
exit;
}

if (Defined('WATERMARK_TEXT') && WATERMARK_TEXT!='') { // text

$color = eregi_replace("#","", TEXT_COLOR);
$red = hexdec(substr($color,0,2));
$green = hexdec(substr($color,2,2));
$blue = hexdec(substr($color,4,2));

$text_color = imagecolorallocate ($old_image, $red, $green, $blue);

$text_height=imagefontheight(WATERMARK_TEXT_FONT);
$text_width=strlen(WATERMARK_TEXT)*imagefontwidth(WATERMARK_TEXT_FONT);
$wt_y=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_V=='top') {
$wt_y=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='bottom') {
$wt_y=$image_height-$text_height-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='center') {
$wt_y=(int)($image_height/2-$text_height/2);
}

$wt_x=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_H=='left') {
$wt_x=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='right') {
$wt_x=$image_width-$text_width-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='center') {
$wt_x=(int)($image_width/2-$text_width/2);
}

if (TEXT_SHADOW=='1') {
imagestring($old_image, WATERMARK_TEXT_FONT, $wt_x+1, $wt_y+1, WATERMARK_TEXT, 0);
}
imagestring($old_image, WATERMARK_TEXT_FONT, $wt_x, $wt_y, WATERMARK_TEXT, $text_color);

}

if (Defined('WATERMARK_IMAGE') && WATERMARK_IMAGE!='' && file_exists(WATERMARK_IMAGE)) {
// image

$lst2=GetImageSize(WATERMARK_IMAGE);
$image2_width=$lst2[0];
$image2_height=$lst2[1];
$image2_format=$lst2[2];

if ($image2_format==2) {
$wt_image=imagecreatefromjpeg(WATERMARK_IMAGE);
} elseif ($image2_format==3) {
$wt_image=imagecreatefrompng(WATERMARK_IMAGE);
}

if ($wt_image) {

$wt_y=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_V=='top') {
$wt_y=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='bottom') {
$wt_y=$image_height-$image2_height-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='center') {
$wt_y=(int)($image_height/2-$image2_height/2);
}

$wt_x=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_H=='left') {
$wt_x=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='right') {
$wt_x=$image_width-$image2_width-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='center') {
$wt_x=(int)($image_width/2-$image2_width/2);
}

imagecopymerge($old_image, $wt_image, $wt_x, $wt_y, 0, 0, $image2_width, $image2_height, WATERMARK_PERCENT);
}

}

if ($image_format==2) {
imageJpeg($old_image);
}
if ($image_format==3) {
imagePng($old_image);
}

?>

Инструкции по установке:

В директории с картинками создать .htaccess

---------------------------------------------------------------

addhandler wtmrk jpg
action wtmrk /img_med/wm.php //путь от корня сайта к модулю защиты, там же должны лежать защищаемые картинки

-----------------------------------------------------------------

Пример: http://katalog.odegda-euro.ru

 
Архив » История мировых и локальных событий » История развития сайта » Водяной знак на изображение в PHP Защита фото от копирования (Наложение надписей и подложки на рисунок в PHP для сайта)
  • Страница 1 из 1
  • 1
Поиск:


Copyright kachay.ucoz.org © 2008-2024Хостинг от uCoz
^ Наверх ^
Пригодилось!