Watermark проблем

joorkataa

Registered
Здравейте намерих този код който съм дал по долу тук в WT но нещо не е като хората ... тоест правя изображението Transparent но излиза ето така

4589.jpg


а трябва да излиза само текста Текст Текст Текст .. , а излиза с бяла и черна обвивка отстрани около текста .. ето кода.

Едит: и ако снимката е с различен размер watermark-а се разтегля.



PHP:
<?php
// ----------------------------------------------------------------------------------------//

// коментирайте долния ред ако нежелаете картинка за воден знак
Define('kartinka', 'water.png'); //пътя до картинката която ще е воден знак
Define('prozrachnost', '50'); // прозрачноста на водния знак

// коментирайте долния ред ако нежелаете текст за воден знак
//Define('text', ' Lubov-bg.com '); // текста който ще се показва за воден знак
//Define('text_golemina', '5'); // големина на шрифта от 1 до 5
//Define('sqnka', '1'); // сянка на текста -> 1 - да , 0 - не
//Define('text_cvqt', '#FFFF33'); // цвят на текста

Define('horizontalno', 'dqsno'); // lqvo | dqsno | centur
Define('vertikalno', 'dolu'); // gore | dolu | centur
Define('margin', '20'); // margin (също като при css)

// ----------------------------------------------------------------------------------------//
// от тук надолу не се пипа :)
$br=preg_replace('/modify\.php.+/', '', $_SERVER['PHP_SELF']);
$imenafaila=str_replace($br, './', $_SERVER['PATH_INFO']);

$whf=GetImageSize($imenafaila);
$image_w=$whf[0];
$image_h=$whf[1];
$image_f=$whf[2];

switch($image_f){
case 1:
$image=imagecreatefromgif($imenafaila);
break;
case 2:
$image=imagecreatefromjpeg($imenafaila);
break;
case 3:
$image=imagecreatefrompng($imenafaila);
break;
default:
readfile($imenafaila);
exit;
}

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


$color = eregi_replace("#","", text_cvqt);
$cherveno = hexdec(substr($color,0,2));
$zeleno = hexdec(substr($color,2,2));
$sinio = hexdec(substr($color,4,2));

$text_c = imagecolorallocate ($image, $cherveno, $zeleno, $sinio);

$text_h=imagefontheight(text_golemina);
$text_w=strlen(text)*imagefontwidth(text_golemina);

switch(vertikalno){
case 'gore':
$vznak_y=margin;
break;
case 'dolu' :
$vznak_y=$image_h-$text_h-margin;
break;
case 'centur':
$vznak_y=(int)($image_h/2-$text_h/2);
break;
default:
$vznak_y=margin;
}

switch(horizontalno){
case 'lqvo':
$vznak_x=margin;
break;
case 'dqsno':
$vznak_x=$image_w-$text_w-margin;
break;
case 'centur':
$vznak_x=(int)($image_w/2-$text_w/2);
break;
default:
$vznak_x=margin;
}

if (sqnka=='1') {
imagestring($image, text_golemina, $vznak_x+1, $vznak_y+1, text, 0);
}
imagestring($image, text_golemina, $vznak_x, $vznak_y, text, $text_c);

}

if (Defined('kartinka') && kartinka!='' && file_exists(kartinka)) {


$whf2=GetImageSize(kartinka);
$image2_w=$whf2[0];
$image2_h=$whf2[1];
$image2_f=$whf2[2];

switch($image2_f){
case 1:
$vznak_image=imagecreatefromgif(kartinka);
break;
case 2:
$vznak_image=imagecreatefromjpeg(kartinka);
break;
case 3:
$vznak_image=imagecreatefrompng(kartinka);
break;
}

if ($vznak_image) {


switch(vertikalno){
case 'gore':
$vznak_y=margin;
break;
case 'dolu' :
$vznak_y=$image_h-$image2_h-margin;
break;
case 'centur':
$vznak_y=(int)($image_h/2-$image2_h/2);
break;
default:
$vznak_y=margin;
}

switch(horizontalno){
case 'lqvo':
$vznak_x=margin;
break;
case 'dqsno':
$vznak_x=$image_w-$image2_w-margin;
break;
case 'centur':
$vznak_x=(int)($image_w/2-$image2_w/2);
break;
default:
$vznak_x=margin;
}

imagecopymerge($image, $vznak_image, $vznak_x, $vznak_y, 0, 0, $image2_w, $image2_h, prozrachnost);
}

}
switch($image_f){
case 1:
Header("Content-Type:image/gif");
imageGIF($image);
break;
case 2:
Header("Content-Type:image/jpeg");
imageJPEG($image);
break;
case 3:
Header("Content-Type:image/png");
imagePNG($image);
break;
}
?>
 

Горе