水印位置问题

时间:2011-04-17 12:33:53

标签: php gd watermark

我有水印位置的问题我想设置位置左中心,我怎样才能动态设置这里是水印的功能

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 个答案:

答案 0 :(得分:1)

如果您希望它完全左侧和垂直居中,则需要更改两个位置计算。

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

你找到源图像的一半,取下水印高度的一半,这将给你水印位置的顶部。

请注意,对于水印大于源图像的情况,不能很好地适应。