PHP Conference Japan 2024

使用 imagecopymerge() 创建半透明水印

示例 #1 使用 imagecopymerge() 创建半透明水印

<?php
// 加载要应用水印的图片和水印图片
$im = imagecreatefromjpeg('photo.jpeg');

// 首先,我们使用 GD 手动创建水印图像
$stamp = imagecreatetruecolor(100, 70);
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);

// 设置水印的边距并获取水印图像的高度/宽度
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// 将水印合并到我们的图片上,不透明度为 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

// 将图像保存到文件并释放内存
imagepng($im, 'photo_stamp.png');
imagedestroy($im);

?>
Using imagecopymerge() to create a translucent watermark
此示例使用 imagecopymerge() 将水印与我们的原始图像合并。使用此函数,我们可以设置水印的不透明度 - 在我们的示例中,我们将其设置为 50% 的不透明度。在实践中,这在版权保护方面非常有用,因为半透明水印很难去除,但允许查看者看到图像。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top