PDA

View Full Version : استفاده از واترمارک (watermark) بر روی تصاویر



milyooner
دوشنبه 04 اسفند 1393, 13:12 عصر
شاید بتوان گفت یکی از دغدغه های اصلی مدیران سایتها استفاده از عکسها و مطالبشون در سایر سایتها باشه.
برای مطالب که کار خاصی نمیشه کرد ولی برای عکسها یکی از بهترین روشها استفاده از واترمارک (watermark (http://www.partiaweb.com)) یا همون کپی رایتی هست که روی عکسها قرار میگیره.
در این آموزش با استفاده از کد و روشی بسیار ساده یک عکس رو به صورت واتر مارک رو سایر عکسها قرار میدیم. خوبی این روش این هست که فقط کافیه کدهارو در فولدر مربوط به عکسها قرار بدید تا تمامی عکسهای داخل فولدر که از قبل وجود داره و عکسهایی که ممکنه بعدا اضافه بشه دارای کپی رایت بشن.
مشاهده دموی آنلاین (http://www.partiaweb.com/demo/watermark/tabligh.jpg)
دانلود سورس (http://www.partiaweb.com/demo/watermark/watermark.zip)

در ابتدا یک فایل به نام watermark.php ایجاد کنید و کدهای زیر رو داخل اون قرار بدید:



<!--?php

$basedir= $_SERVER["DOCUMENT_ROOT"]."/gallery";

$watermarkimage="watermark.png";

if(isset($_GET['img'])){
$file=basename($_GET['img']);

$image = $basedir."/".$file;
$watermark = $basedir."/".$watermarkimage;

$im = imagecreatefrompng($watermark);

$ext = substr($image,-3);

if (strtolower($ext) == "gif") {
if (!$im2 = imagecreatefromgif($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "jpg") {
if (!$im2 = imagecreatefromjpeg($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "png") {
if (!$im2 = imagecreatefrompng($image)) {
echo "Error opening $image!"; exit;
}
} else {
die;
}

imagefilledrectangle($im2,0, (imagesy($im2))-(imagesy($im)),imagesx($im2),imagesy($im2),imageco lorallocatealpha($im2,0,0,0,100));
imagecopy($im2,$im,(imagesx($im2)-(imagesx($im))),(imagesy($im2))-(imagesy($im)),0,0,imagesx($im),imagesy($im));
header("Content-Type: image/jpeg");
imagejpeg($im2);
imagedestroy($im);
imagedestroy($im2);
}
?-->





در خط اول ابتدا نام فولدری که عکسها در آن قرار دارد وارد کنید.
در خط بعد عکس مربوط به کپی رایت خود را قرار دهید.
این کد تغییرات خاص دیگری لازم نداره مگر اینکه بخواید مقدار آلفا تصویر پس زمینه و یا محل قرارگیری کپی رایت که الان در انتهای تمامی عکسها قرار گرفته تغییر بدید.

حال یک فایل htaccess. درست کنید و کدهای زیر رو داخل اون قرار بدید:




RewriteEngine on
RewriteRule ^(.*\.(?:jpe?g|gif|png?))$ watermark.php?img=$1





بعد از ذخیره تغییرات تمامی فایلها رو داخل پوشه عکسهای خود قرار دهید.
از این پس تمامی عکسهای شما دارای کپی رایت خواهند بود.
مطالعه لینک های زیر در درک بیشتر شما از این آموزش مفید خواهد بود:
http://php.net/manual/en/image.examples-watermark.php
http://php.net/manual/en/image.examples.merged-watermark.php

copyright:www.partiaweb.com (http://www.partiaweb.com)

موفق باشید.