ether / imager-thumbor
Imager 的 Thumbor 转换器
Requires
- aelvan/imager: ^2.1.10
- craftcms/cms: ^3.1.0
README
Imager 的 Thumbor 转换器
配置
应将配置选项添加到您的配置文件夹中的 imager-thumbor.php
文件。要使用 Thumbor,请在您的 imager.php
配置文件中将 transformer
选项设置为 "thumbor"。
在设置 Thumbor 时,我们建议使用 thumbor.loaders.file_loader_http_fallback
加载器来处理具有和没有公共 URL 的文件(请参阅 图像加载器)。
域名 [字符串]
Thumbor 可以访问的域名(包括端口)。
securityKey [字符串]
在您的 Thumbor 配置文件中定义的安全密钥。请参阅 安全性。
local [布尔值]
将文件本地存储(或使用 Imager 配置文件中定义的远程存储服务),而不是使用 Thumbor URL。您需要启用 Thumbor 的 REST 端点才能使此功能正常工作(请参阅 如何上传图像)。
转换选项
format [字符串]
默认: null
允许的值: null
, 'jpg'
, 'png'
, 'gif'
, 'webp'
创建图像的格式。如果未设置(默认),则将与源图像相同的格式。
trim [布尔值|字符串]
默认: false
可以使用 trim 选项删除图像周围的空隙。
除非指定,trim 假设为左上角像素颜色,没有容差(关于容差下面有更多介绍)。
如果您需要指定从哪里获取像素颜色的方向,只需将值设置为 top-left
以获取左上角的像素颜色或 bottom-right
以获取右下角的像素颜色。
Trim 还支持颜色容差。参考像素和周围像素之间的颜色欧几里得距离用于。如果距离在容差范围内,则将进行裁剪。对于 RGB 图像,容差范围为 0-442。
mode [字符串]
默认: crop
允许的值: crop
, fit
, stretch
crop
: 裁剪图像到给定大小,将图像缩放以尽可能填满大小。
fit
: 缩放图像以适应给定大小,同时保持原始图像的纵横比。
stretch
: 缩放图像到给定大小,如果纵横比与原始图像不同,则进行拉伸。
width [整数|字符串]
图像的宽度,以像素为单位。
如果您省略此值或将它设置为 0,Thumbor 将确定该维度与原始图像成比例。
设置为 orig
以使用原始图像的大小。例如,如果原始图像的宽度为 400px,则新图像也将具有该宽度。
负值将翻转图像。将 '-0'
(带引号)设置为不调整大小地翻转图像。
height [整数|字符串]
图像的高度,以像素为单位。
如果您省略此值或将它设置为 0,Thumbor 将确定该维度与原始图像成比例。
设置为 orig
以使用原始图像的大小。例如,如果原始图像的高度为 400px,则新图像也将具有该高度。
负值将翻转图像。将 '-0'
(带引号)设置为不调整大小地翻转图像。
ratio [整数|浮点数]
一个纵横比(宽度/高度),用于计算未提供的宽度和高度。
{ ratio: 16/9 }
effects [数组]
一个键值数组,用于对图像执行效果,其中键是效果的名称,值包含效果的参数。请参阅下方的效果。
位置 [字符串|数组]
裁剪的周围位置。可以是包含 % 位置的字符串20% 65%
,或命名位置middle-right
,或包含 x/y 十进制位置的数组['x' => 0.2, 'y' => 0.65]
。
智能 [布尔值]
裁剪图像时将使用 Thumbor 的智能焦点检测。
放大 [布尔值]
默认: false
如果为 true,将放大图像以适应给定的大小。
效果
autojpg [布尔值]
当 true
时,将非透明 PNG 图像转换为 JPG。
backgroundColor [字符串]
将背景层设置为指定的颜色。这在将透明图像(PNG)转换为 JPEG 时特别有用。
值应该是颜色名称(如 HTML 中的颜色)或不含“#”字符的十六进制 rgb 表达式(例如,请参阅Web 颜色)。如果颜色是 auto
,则将智能选择(基于图像像素)的颜色作为填充颜色。
blur [整数|数组]
对图像应用高斯模糊。
接受单个整数作为模糊的半径
,或匹配 [半径,sigma]
的数组。
radius
用于高斯函数生成矩阵,最大值为150。半径越大,图像越模糊。sigma
是可选的,默认值与radius
相同。Sigma用于高斯函数。
brightness [整数]
增加或减少图像亮度。
接受从 -100 到 100 的整数。更改图像亮度的百分比。正数使图像变亮,负数使图像变暗。
contrast [整数]
增加或减少图像对比度。
接受从 -100 到 100 的整数。更改图像对比度的百分比。正数增加对比度,负数减少对比度。
convolution [数组]
在图像上运行卷积矩阵(或核)。有关过程的详细信息,请参阅核(图像处理)。边缘像素始终扩展到图像区域外。
接受参数数组 [matrix_items, number_of_columns, should_normalize]
。
matrix_items
分号分隔的矩阵项number_of_columns
矩阵中的列数should_normalize
我们是否应该将每个矩阵项除以所有项的总和
示例
-1 -1 -1
-1 8 -1
-1 -1 -1
{{ craft.imager.transformImage(img, { effects: { convolution: ['-1;-1;-1;-1;8;-1;-1;-1;-1', 3, false], }, }) }}
equalize [布尔值]
均衡图像中的颜色分布。
fill [字符串|数组]
将图像尺寸精确到请求的大小,并在其比例不足的地方用所选颜色填充,以返回图像。仅在mode
设置为fit
时适用。
接受字符串color
或数组[color, fill_transparent]
。
color
接受- 颜色名称(如 HTML 中的颜色)或不含“#”字符的十六进制 RGB 表达式(例如,请参阅Web 颜色)。
- 如果颜色是“透明”且图像格式支持透明度,则填充颜色为透明。
- 如果颜色是“auto”,则将根据图像像素智能选择颜色作为填充颜色。
- 如果颜色是“blur”,则用模糊的原始图像填充缺失的部分。
fill_transparent
指定是否填充图像的透明区域。接受的值是 true、false、1 或 0。此参数是可选的,默认值是 false。
灰度 [布尔值]
将图像转换为灰度。
maxBytes [整型]
自动降低图像质量,直到图像的字节大小低于指定的数量。
noise [整型]
向图像添加噪声。接受一个介于 0 - 100 的值,作为添加到图像中的噪声量(百分比)。
proportion [浮点数]
将比例应用于传递给裁剪的高度和宽度。接受一个介于 0 - 1 的浮点数作为比例的百分比(例如,0.5 表示裁剪后图像的大小将缩小到 50%)。
quality [整型]
设置 JPEG 图像的整体质量(PNG 或 GIF 无效)。期望的值介于 0 - 100,作为质量级别(百分比)。
rgb [数组]
将改变每个三通道中的颜色量。
接受一个范围从 -100 到 100 的 RGB 值数组 [r, g, b]
。
rotate [整型]
根据传递的角度值旋转给定图像。应设置为介于 0 - 359 度的角度。大于或等于 360 的数字将转换为介于 0 到 359 度之间的等效角度。
sharpen [数组]
增强图像的明显锐度。它基于 Marco Rossini 的优秀 Wavelet sharpen GIMP 插件。
接受一个具有以下值的数组:[sharpen_amount, sharpen_radius, luminance_only]
sharpen_amount
- 锐化量。典型值介于 0.0 和 10.0 之间。sharpen_radius
- 锐化半径。典型值介于 0.0 和 2.0 之间。luminance_only
- 只锐化亮度通道。值可以是true
或false