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中的正规表达式(一)
Oct 09 PHP
怎样去阅读一份php源代码
Aug 21 PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 PHP
php向js函数传参的几种方法
Aug 10 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
php控制文件下载速度的方法
Mar 24 PHP
你应该知道PHP浮点数知识
May 13 PHP
php生成高清缩略图实例详解
Dec 07 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
php写入文件不覆盖的实例讲解
Sep 17 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 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 miniBB中文乱码问题解决方法
2008/11/25 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
django正续或者倒序查库实例
2020/05/19 Python
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
应届毕业生自我评价分享
2013/12/15 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
安全生产汇报材料
2014/02/17 职场文书
期中考试反思800字
2014/05/01 职场文书
小学生春游活动方案
2014/08/20 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
解除劳动合同证明书
2014/09/26 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
2015年春节标语口号
2014/12/09 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
部队2015年终工作总结
2015/04/02 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
python 中yaml文件用法大全
2021/07/04 Python