PHP图片加水印PHP两张图片合并重叠一张图

5个月前 (12-15 22:12)阅读3299回复0
纳兰叶
纳兰叶
  • 管理员
  • 注册排名1
  • 经验值787
  • 级别管理员
  • 主题155
  • 回复6
楼主

在网页开发中,为了保护图片的版权以及添加一些个性化的效果,我们经常需要在图片上添加水印。

在本文中,我将介绍如何使用PHP来实现图片添加水印的功能,并给出相应的代码示例。

PHP给图片加水印方法.png

步骤一:获取图片和水印图片的路径

在进行图片添加水印之前,我们需要先获取待处理图片和水印图片的路径。

可以通过以下代码来实现:

$imgPath = "path/to/image.jpg";  // 待处理图片路径
$watermarkPath = "path/to/watermark.png";  // 水印图片路径

步骤二:创建一个带有水印的新图片
接下来,我们需要创建一个新的图片,并将待处理的图片以及水印图片合并到新图片中。

可以通过以下代码来实现:

// 获取待处理图片信息
$imgInfo = getimagesize($imgPath); 
$imgWidth = $imgInfo[0];  // 图片宽度
$imgHeight = $imgInfo[1];  // 图片高度

// 创建一个带有水印的新图片
$newImg = imagecreatefromjpeg($imgPath);

// 获取水印图片信息
$wmInfo = getimagesize($watermarkPath);
$wmWidth = $wmInfo[0];  // 水印图片宽度
$wmHeight = $wmInfo[1];  // 水印图片高度

// 计算水印图片在新图片中的位置
$posX = $imgWidth - $wmWidth - 10;  // 水印图片的X坐标
$posY = $imgHeight - $wmHeight - 10;  // 水印图片的Y坐标

// 合并水印图片到新图片中
$watermark = imagecreatefrompng($watermarkPath);
imagecopy($newImg, $watermark, $posX, $posY, 0, 0, $wmWidth, $wmHeight);

步骤三:输出或保存带有水印的新图片
最后一步是将带有水印的新图片进行输出或保存,取决于我们的需求。

可以通过以下代码来实现:

// 输出带有水印的新图片
header('Content-Type: image/jpeg');
imagejpeg($newImg);

// 或者保存带有水印的新图片
$newImgPath = "path/to/newImage.jpg";  // 保存路径
imagejpeg($newImg, $newImgPath);

// 释放内存
imagedestroy($newImg);
imagedestroy($watermark);


以上内容仅代表作者观点,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.nly3355.cn/53-5687.html

0
我空虚,我寂寞,还感觉有点冷!
回帖

PHP图片加水印PHP两张图片合并重叠一张图 期待您的回复!

您需要 登录账户 后才能发表评论
取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息