我的工作是在左上方的图像上添加水印,如何更改它以便在右下角添加?
这是我目前的代码:
$watermark = new Imagick();
$watermark->readImage("images/watermark_boxart.png");
$im->compositeImage($watermark, imagick::COMPOSITE_OVER, 3, 3);
由于
答案 0 :(得分:2)
您将水印设置为(3,3)。您需要通过相应地放置这些数字来在右下角设置它。
方法:
- 在$ im [$ im_height,$ im_width]
上计算宽度和高度- 计算$ watermerk的宽度和高度[$ wm_height,$ wm_width]
- 找到通过计算尺寸差异来放置水印的坐标
- 使用计算位置创建合并
醇>
代码:
$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);