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

这篇文章主要介绍了php使用imagecopymerge()函数创建半透明水印,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

使用imagecopymerge() 函数创建半透明水印,供大家参考,具体内容如下:

  1. <?php
  2. // 加载要加水印的图像
  3. $im = imagecreatefromjpeg('photo.jpeg');
  4. // 首先我们从 GD 手动创建水印图像
  5. $stamp = imagecreatetruecolor(100, 70);
  6. imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
  7. imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
  8. imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
  9. imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);
  10. // 设置水印图像的位置和大小
  11. $marge_right = 10;
  12. $marge_bottom = 10;
  13. $sx = imagesx($stamp);
  14. $sy = imagesy($stamp);
  15. // 以 50% 的透明度合并水印和图像
  16. imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);
  17. // 将图像保存到文件,并释放内存
  18. imagepng($im, 'photo_stamp.png');
  19. imagedestroy($im);
  20. ?>

半透明水印:

本示例使用 imagecopymerge() 函数 来合并水印图像和原始图像,我们可以控制水印的透明度,在本例中是 50% 的透明度,在实际使用中, 使用半透明水印可以在不影响用户观看图像的前提下进行版权保护。