images.Process
New in v0.119.0
此濾鏡與 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" }}
提示
{{ $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 }}
範例
Original

Processed
