Process
Process 方法
使用給定的規格處理圖像。規格中可以包含可選的動作,如 crop、fill、fit 或 resize。這意味著您可以使用此方法來代替 Crop、Fill、Fit 或 Resize。
範例
{{ with resources.Get "images/original.jpg" }}
{{ with .Process "crop 200x200" }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}
您也可以使用此方法進行簡單的轉換,例如旋轉和格式轉換:
{{/* 順時針旋轉90度。 */}}
{{ $image := $image.Process "r90" }}
{{/* 轉換為 WebP 格式。 */}}
{{ $image := $image.Process "webp" }}
Process 方法也可以作為篩選器使用,當您需要對圖像應用多個篩選時,這樣會更有效。請參見 images.Process。
處理規範
處理規範是一個由空格分隔、不區分大小寫的列表,包含以下一個或多個項目,順序不拘:
- action
- 只適用於
Process方法。指定零個或一個crop、fill、fit或resize。如果指定了動作,必須提供尺寸。 - dimensions
- 使用
Resize方法時,提供寬度 或 高度,否則提供寬度 和 高度。詳情請參見 細節。 - anchor
- 與
Crop和Fill方法一起使用。指定零個或一個TopLeft、Top、TopRight、Left、Center、Right、BottomLeft、Bottom、BottomRight或Smart。預設為Smart。詳情請參見 細節。 - rotation
- 通常指定零個或一個
r90、r180或r270。也支援任意角度的旋轉。詳情請參見 細節。 - target format
- 指定零個或一個
gif、jpeg、png、tiff或webp。詳情請參見 細節。 - quality
- 適用於 JPEG 和 WebP 圖像。可選擇性指定
qN,其中N是範圍 [0, 100] 內的整數。預設為75。詳情請參見 細節。 - hint
- 適用於 WebP 圖像,等同於
cwebp編碼器的-preset標誌。指定零個或一個drawing、icon、photo、picture或text。預設為photo。詳情請參見 細節。
- background color
- 當將 PNG 或 WebP 轉換為不支援透明度的格式時,選擇性指定背景顏色,使用三位數或六位數的十六進位顏色代碼。預設為
#ffffff(白色)。詳情請參見 細節。 - resampling filter
- 通常指定零個或一個
Box、Lanczos、CatmullRom、MitchellNetravali、Linear或NearestNeighbor。還有其他可用的重採樣濾鏡。詳情請參見 細節。
示例
{{ with resources.Get "images/original.jpg" }}
{{ with .Process "crop 200x200 topright webp q85 lanczos" }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}
Original
Processed