• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP实现图片水印功能

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、什么是水印

所谓数字水印是向数据多媒体(如图像、声音、视频信号等)中添加某些数字信息以达到文件真伪鉴别、版权保护等功能。

二、水印功能

  • 真伪鉴别
  • 版权保护
  • 防盗链

三、水印图像实现

  • 通过PS等设计软件,进行设计实现
  • 通过PHP等编程语言来设计实现

四、水印实现原理图

  • 文字水印(验证码)
  • 图片水印:把一张图片嵌入在另一张图片中

五、水印制作五步走

第一步:获取目标图片资源(原图像),imagecreatefrom(jpeg|gif|png)
第二步:获取水印图片资源(水印图像),imagecreatefrom(jpeg|gif|png)
第三步:采样合并

要使用到的知识点:
bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )
参数说明:
$dst_im :目标图片资源(原图像)
$src_im :水印图片资源(水印图)
$dst_x :水印图片在原图像中的位置(横坐标)
$dst_y :水印图片在原图像中的位置(纵坐标)
$src_x :取样水印图片的位置(横坐标)
$src_y :取样水印图片的位置(纵坐标)
$src_w :水印图片的宽度
$src_h :水印图片的高度
$pct :透明度,0-100,0代表全透明,100代表不透明,0-100之间代表半透明
功能:imagecopymerge — 拷贝并合并图像的一部分

第四步:保存图片资源
第五步:销毁图片资源

六、水印图具体实现

//1、获取目标图片资源(原图)
$dst = imagecreatefromjpeg('girl.jpg');
//2、获取水印图片资源(水印图)
$src = imagecreatefromjpeg('water.jpg');
//3、采样合并
imagecopymerge($dst, $src, 0, 0, 0, 0, 105, 45, 50);
//4、保存图片资源
imagejpeg($dst,'water_girl.jpg');
//5、销毁图片资源
imagedestroy($src);
imagedestroy($dst);

扩展:可以定制水印图像的位置(左上角、右上角、左下角、右下角、居中位置)

左上角:横坐标0,纵坐标0
右上角:纵坐标0,横坐标(原图宽度-水印图片宽度)
左下角:横坐标0,纵坐标(原图高度-水印图片高度)
右下角:横纵坐标都是使用原图-水印图宽高
居中位置:
横坐标 :ceil((原图宽度-水印图宽度)/2)
纵坐标 :ceil((原图高度-水印图高度)/2)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
CentOS5.5编译安装Apache+MySQL+PHP(转)发布时间:2022-07-10
下一篇:
如何用php调用外部接口json数据?发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap