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语法速查表
Jan 02 PHP
php Http_Template_IT类库进行模板替换
Mar 19 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
php中filter_input函数用法分析
Nov 15 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
php英文单词统计器
Jun 23 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
php慢查询日志和错误日志使用详解
Feb 27 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
WordPress JQuery处理沙发头像
2009/06/22 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
Python持续监听文件变化代码实例
2020/07/22 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
HTML5制作表格样式
2016/11/15 HTML / CSS
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
护理专业毕业生自我鉴定
2013/10/08 职场文书
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
计算机专业个人简短的自我评价
2013/10/23 职场文书
运动会广播稿300字
2014/01/10 职场文书
中学生运动会口号
2014/06/07 职场文书
班级文化建设标语
2014/06/23 职场文书
离职感谢信
2015/01/21 职场文书
python process模块的使用简介
2021/05/14 Python
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫