我正在使用 https://github.com/php-imagine/Imagine (如
use Imagine\Imagick\Imagine
)来处理我的图像。我正在应用透明(alpha 通道)PNG 图像作为水印,遵循此处的文档 https://imagine.readthedocs.io/en/stable/usage/introduction.html#image-watermarking :
$watermark = $imagine->open('/my/watermark.png');
$image = $imagine->open('/path/to/image.jpg');
$size = $image->getSize();
$wSize = $watermark->getSize();
$bottomRight = new Imagine\Image\Point($size->getWidth() - $wSize->getWidth(), $size->getHeight() - $wSize->getHeight());
$image->paste($watermark, $bottomRight);
它可以工作,但我想降低水印的不透明度,这样就不会那么碍眼了。
我尝试通过 https://imagine.readthedocs.io/en/stable/search.html 搜索文档,但似乎不起作用。
查看代码,
paste()
方法似乎内置了一个alpha参数:
public function paste(ImageInterface $image, PointInterface $start, $alpha = 100)
由于参数是可选的,并且您在示例中没有覆盖,因此您将获得默认值 100。要覆盖,只需为第三个参数显式提供一个小于 100 的值:
$image->paste($watermark, $bottomRight, 25);