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的宝库目录--PEAR
Oct 09 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
Apr 26 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
Oct 23 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
php数据访问之查询关键字
May 09 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
PHP多进程通信-消息队列使用
Mar 08 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
ThinkPHP缓存方法S()概述
2014/06/13 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
Jquery ajax基础教程
2015/11/20 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
跟老齐学Python之集合的关系
2014/09/24 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
Python获取excel内容及相关操作代码实例
2020/08/10 Python
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
秋游活动策划方案
2014/02/16 职场文书
优秀会计求职信
2014/07/04 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
爱心捐书倡议书
2015/04/27 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL