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 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
discuz的php防止sql注入函数
Jan 17 PHP
php一个找二层目录的小东东
Aug 02 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
php中DOMElement操作xml文档实例演示
Mar 26 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
浅析php创建者模式
Nov 25 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
php 中的信号处理操作实例详解
Mar 04 PHP
用php如何解决大文件分片上传问题
Jul 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解决和避免form表单重复提交的几种方法
2016/08/31 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
Python跳出多重循环的方法示例
2019/07/03 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
企业军训感言
2014/02/08 职场文书
师德师风的心得体会
2014/09/02 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
市级三好学生评语
2014/12/29 职场文书
拾金不昧表扬信
2015/01/16 职场文书
出国留学单位推荐信
2015/03/26 职场文书
课题研究阶段性总结
2015/08/13 职场文书
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技