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 }}
示例
原始
已处理