如何为php-imagine添加的水印设置半透明效果?
为php-imagine水印添加透明度效果
你可以在粘贴水印前,调用水印图片的alpha()方法调整整体透明度,该方法接受0到100之间的数值(0为完全透明,100为完全不透明)。以下是修改后的完整代码:
use Imagine\Imagick\Imagine; use Imagine\Image\Point; $imagine = new Imagine(); $watermark = $imagine->open('/my/watermark.png'); // 调整水印透明度,示例设为50(半透明),可根据需求修改数值 $watermark->alpha(50); $image = $imagine->open('/path/to/image.jpg'); $size = $image->getSize(); $wSize = $watermark->getSize(); $bottomRight = new Point($size->getWidth() - $wSize->getWidth(), $size->getHeight() - $wSize->getHeight()); $image->paste($watermark, $bottomRight); // 保存处理后的图片 $image->save('/path/to/output.jpg');
补充说明
- 若你的水印本身带有Alpha通道,
alpha()方法会在原有透明效果基础上叠加调整整体透明度 - 建议尝试30-60之间的数值,能得到相对自然、不突兀的水印效果
内容的提问来源于stack exchange,提问作者Dr. Gianluigi Zane Zanettini
相关产品推荐
相关产品推荐

