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 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
phpmail类发送邮件函数代码
Feb 20 PHP
php的ajax简单实例
Feb 27 PHP
PHP闭包实例解析
Sep 08 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php中instanceof 与 is_a()区别分析
Mar 03 PHP
php遍历CSV类实例
Apr 14 PHP
PHP滚动日志的代码实现
Jun 10 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
php实现微信支付之现金红包
May 30 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 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从文件夹随机读取文件的方法
2015/06/01 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
支付宝小程序tabbar底部导航
2018/11/06 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
python自动格式化json文件的方法
2015/03/11 Python
Django框架中方法的访问和查找
2015/07/15 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
python绘制热力图heatmap
2020/03/23 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
传媒专业推荐信范文
2013/11/23 职场文书
手机促销活动方案
2014/02/05 职场文书
出国留学经济担保书
2014/04/01 职场文书
关于美容院的活动方案
2014/08/14 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
Python基础之数据结构详解
2021/04/28 Python
Redis三种集群模式详解
2021/10/05 Redis
python3中apply函数和lambda函数的使用详解
2022/02/28 Python
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android