ImageMagick从左上角到右下角移动水印?

时间:2015-02-21 21:35:55

标签: php imagemagick

我的工作是在左上方的图像上添加水印,如何更改它以便在右下角添加?

这是我目前的代码:

    $watermark = new Imagick();
    $watermark->readImage("images/watermark_boxart.png");
    $im->compositeImage($watermark, imagick::COMPOSITE_OVER, 3, 3);

由于

1 个答案:

答案 0 :(得分:2)

您将水印设置为(3,3)。您需要通过相应地放置这些数字来在右下角设置它。

  

方法:

     
      
  1. 在$ im [$ im_height,$ im_width]
  2. 上计算宽度和高度   
  3. 计算$ watermerk的宽度和高度[$ wm_height,$ wm_width]
  4.   
  5. 找到通过计算尺寸差异来放置水印的坐标
  6.   
  7. 使用计算位置创建合并
  8.   

代码:

$im_d = $im->getImageGeometry(); 
$im_w = $im_d['width']; 
$im_h = $im_d['height']; 


$watermark = new Imagick();
$watermark->readImage("images/watermark_boxart.png");
$watermark_d = $watermark->getImageGeometry();
$watermark_w = $watermark_d['width'];
$watermark_h = $watermark_d['height'];

$margin = 3;
$x_loc = $im_w - $watermark_w - $margin;
$y_loc = $im_h - $watermark_h - $margin; 

$im->compositeImage($watermark, imagick::COMPOSITE_OVER, $x_loc, $y_loc);