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的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
php数组去重的函数代码
Feb 03 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
php判断linux下程序问题实例
Jul 09 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 PHP
PHP使用PDO调用mssql存储过程的方法示例
Oct 07 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 PHP
TP3.2框架分页相关实现方法分析
Jun 03 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/04/27 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
php批量修改表结构实例
2017/05/24 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
用js来解决ajax读取页面乱码
2010/11/28 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
Javascript复制实例详解
2016/01/28 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
js实现简单点赞操作
2020/03/17 Javascript
九步学会Python装饰器
2015/05/09 Python
Python实现批量下载文件
2015/05/17 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python函数式编程实例详解
2020/01/17 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
俄语专业毕业生推荐信
2013/10/28 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
2014年法院工作总结
2014/11/24 职场文书
2014年领班工作总结
2014/11/25 职场文书
先进个人材料怎么写
2014/12/30 职场文书
小学安全工作总结2015
2015/05/18 职场文书
锦旗赠语
2015/06/23 职场文书
经销商会议开幕词
2016/03/04 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
Golang连接并操作MySQL
2022/04/14 MySQL