php 给图片添加水印 实例

方法已经放在下面了:

/**
* 添加图片水印
*
* @param $picPath
* @param $logoPath
*/
private function _addWaterMark($picPath, $logoPath)
{
//如果图片不存在或者logo不存在则不处理
if (!file_exists($picPath) || !file_exists($logoPath)) {
return;
}

//创建图片的实例
$im = imagecreatefromstring(file_get_contents($picPath));

//获取水印源
$watermark = imagecreatefromstring(file_get_contents($logoPath));

//获取图、水印 宽高类型
list($bgWidth, $bgHight, $bgType) = getimagesize($picPath);
list($logoWidth, $logoHight, $logoType) = getimagesize($logoPath);

//定义平铺数据
$xLength = $bgWidth - 10; //x轴总长度
$yLength = $bgHight - 10; //y轴总长度

//创建透明画布 伪白色
$opacity = 15;
$w = imagesx($watermark);
$h = imagesy($watermark);
$cut = imagecreatetruecolor($w, $h);
$white = imagecolorallocatealpha($cut, 255, 255, 255, 0);
imagefill($cut, 0, 0, $white);

//整合水印
imagecopy($cut, $watermark, 0, 0, 0, 0, $w, $h);

//循环平铺水印
for ($x = 0; $x < $xLength; $x++) {
for ($y = 0; $y < $yLength; $y++) {
imagecopymerge($im, $cut, $x, $y, 0, 0, $logoWidth, $logoHight, $opacity);
$y += $logoHight;
}
$x += $logoWidth;
}
imagejpeg($im, $picPath);
imagedestroy($im);
}

效果如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值