Проблема с позицией водяного знака - PullRequest
2 голосов
/ 17 апреля 2011

У меня проблема с положением водяного знака. Я хочу установить левое положение по центру. Как установить динамически, вот функция водяного знака

function ($location) {
   $watermark = imagecreatefromgif("wm.gif");
   $watermark_width = imagesx($watermark);
   $watermark_height = imagesy($watermark);
   $image = imagecreatetruecolor($watermark_width, $watermark_height);
   $image = imagecreatefromjpeg($location);
   $size = getimagesize($location);
   $pos_x = $size[0] - $watermark_width - 690;
   $pos_y = $size[1] - $watermark_height - 250;
   imagecopymerge($image, $watermark, $pos_x, $pos_y, 0, 0, $watermark_width, $watermark_height, 100);
   imagejpeg($image, $location);
   imagedestroy($image);
   imagedestroy($watermark);
}

1 Ответ

1 голос
/ 17 апреля 2011

Если вы хотите, чтобы он был полностью левым и вертикально отцентрированным, то вам нужно изменить вычисления двух позиций.

$pos_x = 0;
$pos_y = intval(($size[1] / 2) - ($watermark_height / 2));

Вы находите половину пути на исходном изображении, снимаете половину высоты водяного знака, и это даст вам верхнюю точку местоположения водяного знака.

Обратите внимание, что не очень хорошо подходит для случая, когда водяной знак больше исходного изображения.

...