17.ThinkPHP 扩展库:图像处理--生成缩略图
时间:2020-05-30
本文章向大家介绍17.ThinkPHP 扩展库:图像处理--生成缩略图,主要包括17.ThinkPHP 扩展库:图像处理--生成缩略图使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
官方手册:https://www.kancloud.cn/manual/thinkphp5_1/354123
安装扩展
使用Composer
安装ThinkPHP5
的图像处理类库:
composer require topthink/think-image
生成缩略图
使用thumb
方法生成缩略图,例如:
$image = \think\Image::open('./image.png');
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
$image->thumb(150, 150)->save('./thumb.png');
注意打开生成缩略图的图片,会被删除保留缩略图
例:
自定义函数获取public路径
<?php
// 应用公共文件
//得到public路径地址
//DIRECTORY_SEPARATOR是php的内部常量,用于显示系统分隔符的命令,不需要任何定义与包含即可直接使用
//window 就是\ linux上就是/
function public_path(){
return dirname(__DIR__).DIRECTORY_SEPARATOR.'public';
}
控制器中使用
<?php
namespace app\admin\controller;
use think\Controller;
use think\Image;
use think\Request;
class Upload extends Controller
{
//上传界面
public function index(){
return view('admin@/upload/index');
}
//上传处理
public function upload(Request $request){
//dump($request->file());
$file = $request->file('pic');
// 移动到框架应用根目录/uploads/ 目录下
$info = $file->move( './uploads');
if($info){
$savename = '/uploads/'.str_replace('\\','/', $info->getSaveName());
//打开图片
$image = Image::open(public_path().$savename);
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
$image->thumb(150, 150)->save(public_path().$savename);
return json(['static' => 0, 'msg' => $savename]);
}
return json(['static' => 1, 'msg' => $file->getError()]);
}
}
运行结果
其他还有图像裁剪,翻转,水印等看官方手册即可。
原文地址:https://www.cnblogs.com/makalochen/p/12993344.html
- WCF系列教程之WCF消息交换模式之单项模式
- React Native调用Android相机图库
- IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍
- 设置 IntelliJ IDEA 主题和字体的方法
- 修改 IntelliJ IDEA 模板注释中的 user 内容
- Android仿京东、天猫商品详情页
- C# checked和unchecked运算符
- 迭代子模式
- WCF系列教程之WCF中的会话
- SortedList<TKey,TValue> 和 SortedDictionary<TKey,TValue>
- Spring Boot入门
- React Native在Android平台运行gif的解决方法
- WCF系列教程之WCF客户端异常处理
- 巧用Using跳过异常捕获
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Flutter 强大的MediaQuery控件
- 基于web的图书管理系统设计与实现
- 《Flutter 动画系列一》25种动画组件超全总结
- 网工小白升级打怪篇(三)ssh实现远程管理
- 贪吃蛇的使命 | 零基础入门贪吃蛇游戏(附源码、演示地址)
- Java开发岗面试题--基础篇(二)
- C++核心准则T.48:如果你的编译器不支持concepts,使用enable_if模仿它
- 《Flutter 动画系列》组合动画
- Flutter 完美的验证码输入框
- 【送红宝书】JavaScript 测试系列实战(四):掌握 React Hooks 测试技巧
- Spring 自定义注解你了解过吗?
- 《Flutter 小技巧》一行禁用App,一行置灰App,致敬
- 字符串:总结篇!
- 3 个助你玩转正则表达式的利器
- Flutter 实现虎牙/斗鱼 弹幕效果