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+DBM的同学录程序(5)
Oct 09 PHP
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
PHP提取中文首字母
Apr 09 PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
Apr 07 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四大安全策略
2014/03/12 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
PHP获取当前页面URL函数实例
2014/10/22 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
python爬虫面试宝典(常见问题)
2018/03/02 Python
Django框架模板介绍
2019/01/15 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
python实现图片上添加图片
2019/11/26 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
如何提高python 中for循环的效率
2020/04/15 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
考试不及格的检讨书
2014/01/22 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
房屋买卖协议样本
2014/11/16 职场文书
酒店厨房管理制度
2015/08/06 职场文书
MySQL基础(一)
2021/04/05 MySQL
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
python基础之//、/与%的区别详解
2022/06/10 Python
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android