图片大小调整
Introduction
Image Resizing 服务可用于调整应用程序可访问的任何图像资源的大小。
它的工作原理是接受各种图像源并规范化管道以存储所需的调整大小配置,然后推迟图像的实际调整大小直到浏览器请求。当调整大小路由被命中时,配置从缓存中检索并用于生成所需的图像,然后重定向到生成的图像静态路径以最小化服务器上的负载。
图像的未来加载会自动指向调整大小图像的静态 URL,甚至不会点击调整器路由。
Configuration
此类的功能由这些配置项控制:
- cms.storage.resized.disk: 存储调整大小图像的磁盘
- cms.storage.resized.folder: 磁盘上用于存储调整大小图像的文件夹
- cms.storage.resized.path: 存储盘URL方法返回的缩放后图片的公共路径,用于标识已经缩放过的图片
NOTE: 图像大小调整服务需要一个缓存驱动程序,该驱动程序在请求之间持久保存缓存数据才能正常运行,
array
如果您想使用此服务,则它不是受支持的缓存驱动程序。
Usage
可以通过多种不同的方法访问 Image Resizer:
-
image
后端列表列 -
getThumb()
在Winter\Storm\Database\Attach\File
楷模 - 这
| resize
筛选 - 通过支持
$image
来源System\Classes\ImageResizer::filterGetUrl()
- 实例化的实例
System\Classes\ImageResizer
班级 并根据需要使用它
可用参数
提供给 ImageResizer 的基本参数有(int) $width
,(int) $height
, 和(array) $options
.
如果$width
或者$height
是虚假的或'auto'
,该值是使用原始图像比率(自动比例缩放)计算的。
选项数组中支持以下元素:
Key | Description | Default | Options |
---|---|---|---|
mode |
图像应如何适合尺寸 | auto |
exact ,portrait ,landscape ,auto ,fit , 或者crop |
offset |
偏移调整大小的图像的裁剪 | [0,0] |
[左,上] |
quality |
调整后图像的质量 | 90 |
0-100 |
sharpen |
图像锐化量 | 0 |
0-100 |
可用模式
这mode
选项允许您指定应如何调整图像大小。可用模式如下:
Mode | Description |
---|---|
auto |
自动选择portrait 和landscape 基于图像的方向 |
exact |
调整到给定的确切尺寸,不保留纵横比 |
portrait |
调整给定高度并调整宽度以保持纵横比 |
landscape |
调整给定宽度并调整高度以保持纵横比 |
crop |
在尽可能多地拟合图像后裁剪到给定的尺寸 |
fit |
在给定的最大尺寸内拟合图像,保持纵横比 |
可用资源
可以调整图像大小的可用来源如下:
- Plugins
- Themes
- 媒体库
- 上传目录
- 扩展模型
\Winter\Storm\Database\Attach\File
模型
可以通过收听扩展可用资源system.resizer.getAvailableSources
事件