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 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
PHP中实现进程间通讯
Oct 09 PHP
如何在PHP中使用Oracle数据库(2)
Oct 09 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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 时间计算问题小结
2009/01/04 PHP
php zend 相对路径问题
2009/01/12 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
javascript 类定义的4种方法
2009/09/12 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
vue实现登录功能
2020/12/31 Vue.js
python3实现钉钉消息推送的方法示例
2019/03/14 Python
pip安装python库的方法总结
2019/08/02 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
网络体系结构及协议的定义
2014/03/13 面试题
比较一下entity bean和session bean
2013/12/27 面试题
网站编辑求职信
2013/10/17 职场文书
早会主持词
2014/03/17 职场文书
对孩子的寄语
2014/04/09 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
春风化雨观后感
2015/06/11 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
python APScheduler执行定时任务介绍
2022/04/19 Python