php文字水印和php图片水印实现代码(二种加水印方法)


Posted in PHP onDecember 25, 2013

文字水印

文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件。效果图如下:

php文字水印和php图片水印实现代码(二种加水印方法)

实现代码如下:

$dst_path = 'dst.jpg';
//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));
//打上文字
$font = './simsun.ttc';//字体
$black = imagecolorallocate($dst, 0x00, 0x00, 0x00);//字体颜色
imagefttext($dst, 13, 0, 20, 20, $black, $font, '快乐编程');
//输出图片
list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
switch ($dst_type) {
    case 1://GIF
        header('Content-Type: image/gif');
        imagegif($dst);
        break;
    case 2://JPG
        header('Content-Type: image/jpeg');
        imagejpeg($dst);
        break;
    case 3://PNG
        header('Content-Type: image/png');
        imagepng($dst);
        break;
    default:
        break;
}
imagedestroy($dst);

图片水印

图片水印就是将一张图片加在另外一张图片上,主要使用gd库的imagecopy和imagecopymerge。效果图如下:

php文字水印和php图片水印实现代码(二种加水印方法)

实现代码如下:

$dst_path = 'dst.jpg';
$src_path = 'src.jpg';
//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));
$src = imagecreatefromstring(file_get_contents($src_path));
//获取水印图片的宽高
list($src_w, $src_h) = getimagesize($src_path);
//将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果
imagecopymerge($dst, $src, 10, 10, 0, 0, $src_w, $src_h, 50);
//如果水印图片本身带透明色,则使用imagecopy方法
//imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);
//输出图片
list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
switch ($dst_type) {
    case 1://GIF
        header('Content-Type: image/gif');
        imagegif($dst);
        break;
    case 2://JPG
        header('Content-Type: image/jpeg');
        imagejpeg($dst);
        break;
    case 3://PNG
        header('Content-Type: image/png');
        imagepng($dst);
        break;
    default:
        break;
}
imagedestroy($dst);
imagedestroy($src);
PHP 相关文章推荐
谈谈PHP的输入输出流
Feb 14 PHP
功能齐全的PHP发送邮件类代码附详细说明
Jul 10 PHP
php5 图片验证码实现代码
Dec 11 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
ThinkPHP数据操作方法总结
Sep 28 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
php实现微信发红包功能
Jul 13 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 #PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 #PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 #PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 #PHP
php制作unicode解码工具(unicode编码转换器)代码分享
Dec 24 #PHP
linux实现php定时执行cron任务详解
Dec 24 #PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 #PHP
You might like
PHP 观察者模式的实现代码
2013/05/10 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
下载糗事百科的内容_python版
2008/12/07 Python
Python中for循环控制语句用法实例
2015/06/02 Python
Python中type的构造函数参数含义说明
2015/06/21 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
python异常和文件处理机制详解
2016/07/19 Python
python简单商城购物车实例代码
2018/03/15 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python数据类型之Set集合实例详解
2019/05/07 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
pytorch forward两个参数实例
2020/01/17 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
店长岗位的工作内容
2013/11/12 职场文书
大学生求职信范文应怎么写
2014/01/01 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
七年级作文之游记
2019/12/11 职场文书
解析python中的jsonpath 提取器
2022/01/18 Python