2016-06-24 2 views
1

Я использую следующий код для установки водяного знака, но он устанавливает водяной знак в центр, я хочу установить его в нижнее правое положение.Watermark text position bottom right

<?php 
function watermarkImage($fileget, $watermarktext, $saveto) 
    { 
     list($width, $height) = getimagesize($fileget); 
     $image_p = imagecreatetruecolor($width, $height); 
     $size = getimagesize($fileget); 
     $dest_x = $size[0] - $width - 5; 
     $dest_y = $size[1] - $height - 5; 
     $image = imagecreatefromjpeg($fileget); 
     imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height); 
     $white = imagecolorallocate($image_p, 255, 255, 255); 
     $font = FONT_PATH; 
     $font_size = 15; 
     $bbox = imagettfbbox($font_size, 0, $font, $watermarktext); 
     $x = $bbox[0] + (imagesx($image)/2) - ($bbox[4]/2) - 25; 
     $y = $bbox[1] + (imagesy($image)/2) - ($bbox[5]/2) - 5; 
     imagettftext($image_p, $font_size, 0, $x, $y, $white, $font, $watermarktext); 
     if ($saveto<>'') { 
      imagejpeg ($image_p, $saveto, 100); 
     } else { 
      header('Content-Type: image/jpeg'); 
      imagejpeg($image_p, null, 100); 
     }; 
     imagedestroy($image); 
     imagedestroy($image_p); 
    } 
?> 

Я имею в виду этот ответ: answer-1

Как установить позицию правом нижнем направлении?

ответ

1

Не делите x и y на 2. Вот почему он посередине. На следующих строках:

$x = $bbox[0] + (imagesx($image)/2) - ($bbox[4]/2) - 25; 
$y = $bbox[1] + (imagesy($image)/2) - ($bbox[5]/2) - 5; 

Это должно работать, так как позиция будет нижняя правая:

$x = $bbox[0] + (imagesx($image)) - ($bbox[4]/2) - 25; 
$y = $bbox[1] + (imagesy($image)) - ($bbox[5]/2) - 5; 

EDIT Для правой нижней части:

$x = $bbox[0] + (imagesx($image)) - ($bbox[4]/2) - 130; 
$y = $bbox[1] + (imagesy($image)) - ($bbox[5]/2) - 30; 
+0

Ok. позвольте мне попробовать это. –

+0

он пошел tooooo нижний и правый постулат –

+0

Внутри изображения? Вы можете увеличить значения 25 и 5 для изменения позиций. – Phiter

Смежные вопросы