当前位置: 首页 > news >正文

Thinkphp 6.0图像处理功能

本节课我们来学习一下图像处理功能,这功能是外置的,并非系统内置。

一.图像处理功能

1. 图像处理功能不是系统内置的功能了,需要通过 composer 引入进来;
composer require topthink/think-image

2. 引入进来之后,首先创建图像处理对象;
$image = Image::open('image.png');

3. 获得了图像处理对象后,可以得到这张图片的各种属性;
//图片宽度
echo $image->width();
//图片高度
echo $image->height();
//图片类型
echo $image->type();
//图片 mime
echo $image->mime();
//图片大小
dump($image->size());

4. 使用 crop()方法可以裁剪图片,并使用 save()方法保存到指定路径;
5. 可以点击追踪方法内部,参看源码参数,了解更多的传值方法;
//裁剪图片
$image->crop(550,400)->save('crop1.png');

6. 使用 thumb()方法,可以生成缩略图,配合 save()把缩略图保存下来;
//生成缩略图
$image->thumb(500,500)->save('thumb1.png');

7. 这里要注意一个问题,虽然设置了宽和高,但高度变成了 282,说明是等比例的;
8. 可以点击追踪方法内部,第三个参数默认为:$type = self::THUMB_SCALING
9. 而这个常量设置的定义如下:
/* 缩略图相关常量定义 */
const THUMB_SCALING
= 1; //常量,标识缩略图等比例缩放类型
const THUMB_FILLED
= 2; //常量,标识缩略图缩放后填充类型
const THUMB_CENTER
= 3; //常量,标识缩略图居中裁剪类型
...

10. 使用 rotate()方法,可以旋转图片,默认是 90 度,参数可以设置;
$image->rotate(180)->save('rotate1.png');

11. save()方法可以配置的参数除了保存文件名的路径,还有以下几个:
12. save('路径',['类型','质量','是否隔行扫描']),追踪到方法查看;
save($pathname, $type = null, $quality = 80, $interlace = true)

13. water()方法,可以给图片增加一个图片水印,默认位置为右下角,可看源码常量;
$image->water('mr.lee.png')->save('water1.png');

14. text()方法,可以给图片增加一个文字水印,具体如下:
$image->text('Mr.Lee',getcwd().'/1.ttf',20,'#ffffff')->save('text1.png')

http://www.lryc.cn/news/57960.html

相关文章:

  • 表格软件界的卷王,Excel、access、foxpro全靠边,WPS:真荣幸
  • Node.js -- http模块
  • 静态库与动态库
  • 问题 A: C语言11.1
  • SLAM中后端优化的技术细节总结与回答
  • 小白快速学习Markdown
  • ToBeWritten之物联网WI-FI协议
  • C++模板元编程深度解析:探索编译时计算的神奇之旅
  • 姿态变换及坐标变换
  • 从命令行管理文件
  • 电脑无法正常关机?点了关机又会自动重启
  • English Learning - L2 语音作业打卡 复习双元音 [eɪ] [aɪ] r 谦让型爆破技巧 Day46 2023.4.7 周五
  • webgl-画任意多边形
  • 代码随想录打卡第51天|309.最佳买卖股票时机含冷冻期;714.买卖股票的最佳时机含手续费
  • Spark Shuffle介绍
  • 【数据库原理 • 三】关系数据库标准语言SQL
  • ThreeJS-战争导弹飞行演示(三十四)
  • 代码随想录_226翻转二叉树、101对称二叉树
  • Docker 容器日志查看
  • 【Maven】1—Maven概述下载配置
  • 【Spark】RDD缓存机制
  • 学成在线:第六天(p94-p102)
  • 读懂AUTOSAR:PduR模块--使用FIFO
  • 对象的比较(数据结构系列12)
  • 31.下一个排列
  • ToBeWritten之理解嵌入式Web HTTP协议
  • 顶级程序员的成长之路1
  • 第三代api自动化测试框架使用教程(pytest+allure+sql+yaml)
  • Qt——实现一个获取本机网络信息的界面
  • 全面深入了解接口自动化,看完还不会我报地址