PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】


Posted in PHP onDecember 20, 2019

本文实例讲述了PHP的图像处理。分享给大家供大家参考,具体如下:

1、添加文字水印

//1、打开图片资源
  $src="./material/sea.jpg";
  $info=getimagesize($src);//获取图片信息
  $type=image_type_to_extension($info[2],false);//转化图片类型
  //var_dump($info);
  $fun="imagecreatefrom{$type}";//拼接成为imagecreatefromjpeg()方法
  $image=$fun($src);//新建GD图片资源
//操作图片
  $font="./material/segoepr.ttf";
  $content="@SuperTory";
  $color=imagecolorallocate($image,255,255,255);
  imagettftext($image,10,0,0,$info[1]-5,$color,$font,$content);//图片上写文字
//输出图片
  header("content-type:".$info['mime']);//$imfo['mine']='image/jpeg'
  $output="image{$type}";//拼接成为imagejpeg()方法
  $output($image);//输出到页面
  $output($image,'./material/watermarked.'.$type);//输出到本地路径
//销毁图片内存资源
  imagedestroy($image);

2、压缩图像

//打开图像
$src="./material/logo.png";
$info=getimagesize($src);
$type=image_type_to_extension($info[2],false);
$create="imagecreatefrom".$type;
$image=$create($src);
//压缩
$tinyImg=imagecreatetruecolor(100,100); //新建压缩后的图像资源
//将原图映射到压缩后的图像资源上
imagecopyresampled($tinyImg,$image,0,0,0,0,100,100,$info[0],$info[1]);
header("content-type:".$info['mime']);
$output="image{$type}";
//$output($image);
$output($tinyImg);
//销毁
imagedestroy($image);
imagedestroy($tinyImg);

3、添加水印图片

//获取原图片
$src="./material/sea.jpg";
$info=getimagesize($src);
$type=image_type_to_extension($info[2],false);
$create="imagecreatefrom".$type;
$image=$create($src);
//获取水印图片资源
$markSrc="./material/logo.png";
$markInfo=getimagesize($markSrc);
$markType=image_type_to_extension($markInfo[2],false);
$create="imagecreatefrom".$markType;
$markImage=$create($markSrc);
$tinyImg=imagecreatetruecolor(100,100);
imagecopyresampled($tinyImg,$markImage,0,0,0,0,
  100,100,$markInfo[0],$markInfo[1]);
imagecopymerge($image,$tinyImg,$info[0]-100,$info[1]-100,
  0,0,100,100,100);
//合并图片:(原图,水印图,原图x位置,原图y位置,水印x起点,水印y起点,水印x终点,水印y终点,不透明度)
header("content-type:".$info['mime']);
$output="image{$type}";
$output($image);
imagedestroy($image);
imagedestroy($markImage);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP安装全攻略:APACHE
Oct 09 PHP
PHP数据库开发知多少
Oct 09 PHP
php一个找二层目录的小东东
Aug 02 PHP
php全排列递归算法代码
Oct 09 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
php二维码生成
Oct 19 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
PHP 与 UTF-8 的最佳实践详细介绍
Jan 04 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 PHP
Laravel中的Auth模块详解
Aug 17 PHP
Laravel框架处理用户的请求操作详解
Dec 20 #PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 #PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 #PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 #PHP
PHP中用Trait封装单例模式的实现
Dec 18 #PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 #PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 #PHP
You might like
php静态文件返回304技巧分享
2015/01/06 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
Python中optparser库用法实例详解
2018/01/26 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
Python随机数函数代码实例解析
2020/02/09 Python
简单了解如何封装自己的Python包
2020/07/08 Python
通过代码实例了解Python sys模块
2020/09/14 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
行政人员岗位职责
2013/12/08 职场文书
如何填写个人简历自我评价
2013/12/10 职场文书
农村党支部先进事迹
2014/01/14 职场文书
新闻报道策划方案
2014/06/11 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
面试自我评价范文
2014/09/17 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书