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 相关文章推荐
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
ezSQL PHP数据库操作类库
May 16 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
May 15 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 PHP
PHP children()函数讲解
Feb 03 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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
thinkphp模板继承实例简述
2014/11/26 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
javascript基本算法汇总
2016/03/09 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
原生JS实现图片轮播切换效果
2016/12/15 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
python装饰器常见使用方法分析
2019/06/26 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
售后服务经理岗位职责范本
2014/02/22 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
2015年商场工作总结
2015/04/27 职场文书
社区服务活动感想
2015/08/11 职场文书
Python中的socket网络模块介绍
2022/07/23 Python