在PHP中给图片添加文字水印

作者:carzy2024.01.08 03:43浏览量:2

简介:本文将介绍如何在PHP中给图片添加文字水印,包括使用GD库和Imagick扩展的方法。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在PHP中给图片添加文字水印可以通过使用GD库或Imagick扩展来实现。下面是两种方法的示例代码:
方法一:使用GD库
GD库是PHP中常用的图像处理库,可以用于创建、编辑和操作图像。以下是使用GD库给图片添加文字水印的示例代码:

  1. <?php
  2. // 加载原始图片
  3. $image = imagecreatefromjpeg('path/to/image.jpg');
  4. // 设置水印文字
  5. $text = 'Watermark';
  6. // 设置水印颜色和透明度
  7. $color = imagecolorallocate($image, 255, 255, 255); // 白色
  8. $opacity = 50; // 透明度,范围从0(完全透明)到100(完全不透明)
  9. // 获取图片宽度和高度
  10. $width = imagesx($image);
  11. $height = imagesy($image);
  12. // 在图片上添加水印文字
  13. imagettftext($image, 20, 0, 10, $height - 10, $color, 'path/to/font.ttf', $text);
  14. // 设置水印透明度
  15. imagecolorset($image, $color, 0, 0, $opacity);
  16. // 输出图片到浏览器或保存到文件
  17. header('Content-Type: image/jpeg');
  18. imagejpeg($image);
  19. imagedestroy($image);
  20. ?>

在上述代码中,你需要将path/to/image.jpg替换为原始图片的路径,path/to/font.ttf替换为你想要使用的字体文件的路径。你可以根据需要调整水印文字、颜色、透明度和位置。最后,通过imagejpeg()函数将处理后的图片输出到浏览器或保存到文件。
方法二:使用Imagick扩展
Imagick扩展提供了更多的图像处理功能,相对于GD库更为强大。以下是使用Imagick扩展给图片添加文字水印的示例代码:

  1. <?php
  2. // 加载原始图片
  3. $image = new Imagick('path/to/image.jpg');
  4. // 设置水印文字属性
  5. $text = 'Watermark';
  6. $font = 'path/to/font.ttf';
  7. $size = 20;
  8. $x = 10; // 水印文字的起始位置(x坐标)
  9. $y = $image->getImageHeight() - 10; // 水印文字的起始位置(y坐标)
  10. $color = 'white'; // 水印文字颜色
  11. $opacity = 50; // 水印文字透明度,范围从0(完全透明)到100(完全不透明)
  12. $strokeColor = 'none'; // 水印文字描边颜色(可选)
  13. $strokeWidth = 0; // 水印文字描边宽度(可选)
  14. // 在图片上添加水印文字
  15. $image->addText($text, $font, $size, $x, $y, $color);
  16. $image->setImageOpacity($opacity / 100); // 设置水印透明度(可选)
  17. $image->drawImage($image->getImageAlphaChannel()); // 可选,用于绘制半透明水印(在某些情况下可能不会正常工作)
  18. // 输出图片到浏览器或保存到文件
  19. header('Content-Type: image/jpeg');
  20. echo $image;
  21. ?>

在上述代码中,你需要将path/to/image.jpg替换为原始图片的路径,path/to/font.ttf替换为你想要使用的字体文件的路径。你可以根据需要调整水印文字、颜色、透明度和位置。最后,通过echo语句将处理后的图片输出到浏览器或保存到文件。注意,在使用Imagick扩展时,你需要确保已经安装了Imagick扩展并在PHP配置中启用了它。

article bottom image

相关文章推荐

发表评论