images.Process
语法
images.Process SPEC
返回值
images.filter
此过滤器具有与 Resource
对象上的 Process
方法相同的选项,但是如果您需要将多个过滤器应用于图像,则将其用作过滤器可能更有效。
处理规范是由空格分隔的、不区分大小写的以下一项或多项的列表,顺序不限
- 操作
- 指定
crop
、fill
、fit
或resize
中的零个或一个。 如果您指定了操作,则还必须提供尺寸。 请参阅详细信息。
{{ $filter := images.Process "resize 300x" }}
- 尺寸
- 如果您指定了操作,则为必需项。 使用
resize
时提供宽度或高度,否则提供宽度和高度。 请参阅详细信息。
{{ $filter := images.Process "crop 200x200" }}
- 锚点
- 与
crop
或fill
操作一起使用。 指定TopLeft
、Top
、TopRight
、Left
、Center
、Right
、BottomLeft
、Bottom
、BottomRight
或Smart
中的零个或一个。 默认值为Smart
。 请参阅详细信息。
{{ $filter := images.Process "crop 200x200 center" }}
- 旋转
- 通常指定
r90
、r180
或r270
中的零个或一个。 还支持任意旋转角度。 请参阅详细信息。
{{ $filter := images.Process "r90" }}
{{ $filter := images.Process "crop 200x200 center r90" }}
- 目标格式
- 指定
gif
、jpeg
、png
、tiff
或webp
中的零个或一个。 请参阅详细信息。
{{ $filter := images.Process "webp" }}
{{ $filter := images.Process "crop 200x200 center r90 webp" }}
- 质量
- 适用于 JPEG 和 WebP 图像。 可选指定
qN
,其中N
是 [0, 100] 范围内的整数。 默认值为75
。 请参阅详细信息。
{{ $filter := images.Process "q50" }}
{{ $filter := images.Process "crop 200x200 center r90 webp q50" }}
- 提示
- 适用于 WebP 图像,相当于
cwebp
编码器的-preset
标志。 指定drawing
、icon
、photo
、picture
或text
中的零个或一个。 默认值为photo
。 请参阅详细信息。
{{ $filter := images.Process "webp" "icon" }}
{{ $filter := images.Process "crop 200x200 center r90 webp q50 icon" }}
- 背景颜色
- 将具有透明度的 PNG 或 WebP 转换为不支持透明度的格式时,可选使用 3 位或 6 位十六进制颜色代码指定背景颜色。 默认值为
#ffffff
(白色)。 请参阅详细信息。
{{ $filter := images.Process "jpeg #000" }}
{{ $filter := images.Process "crop 200x200 center r90 q50 jpeg #000" }}
- 重采样过滤器
- 通常指定
Box
、Lanczos
、CatmullRom
、MitchellNetravali
、Linear
或NearestNeighbor
中的零个或一个。 还有其他可用的重采样过滤器。 请参阅详细信息。
{{ $filter := images.Process "resize 300x lanczos" }}
{{ $filter := images.Process "resize 300x r90 q50 jpeg #000 lanczos" }}
用法
创建一个过滤器
{{ $filter := images.Process "resize 256x q40 webp" }}
使用 images.Filter
函数应用过滤器
{{ with resources.Get "images/original.jpg" }}
{{ with . | images.Filter $filter }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}
您还可以使用 Resource
对象上的 Filter
方法应用过滤器
{{ with resources.Get "images/original.jpg" }}
{{ with .Filter $filter }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}
示例
原始

已处理
