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过滤危险html代码的函数
Jul 22 PHP
PHP中10个不常见却非常有用的函数
Mar 21 PHP
PHP开发的一些注意点总结
Oct 12 PHP
php中autoload的用法总结
Nov 08 PHP
Yii配置文件用法详解
Dec 04 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
php闭包中使用use声明变量的作用域实例分析
Aug 09 PHP
统计PHP目录中的文件数方法
Mar 05 PHP
PHP join()函数用法与实例讲解
Mar 11 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 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中检查文件或目录是否存在的代码小结
2012/10/22 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
JS实现拼图游戏
2021/01/29 Javascript
Python open读写文件实现脚本
2008/09/06 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
实例介绍Python中整型
2019/02/11 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
2020/02/27 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
Python中bisect的用法及示例详解
2020/07/20 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
python opencv肤色检测的实现示例
2020/12/21 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
eBay德国站:eBay.de
2017/09/14 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
名人演讲稿范文
2013/12/28 职场文书
公积金单位接收函
2014/01/11 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
学校四群教育实施方案
2014/06/12 职场文书
班训口号大全
2014/06/18 职场文书
2014年关工委工作总结
2014/11/17 职场文书
2014年应急工作总结
2014/12/11 职场文书
2015年环卫工作总结
2015/04/28 职场文书
党员转正申请报告
2015/05/15 职场文书
小学大队委竞选口号
2015/12/25 职场文书