Crop
適用於圖像,返回根據給定處理規格裁剪的新圖像資源。
Syntax
RESOURCE.Crop SPECIFICATION
Returns
images.ImageResource
根據給定的 處理規格 裁剪圖像。裁剪時,您必須在規格中提供寬度和高度(如 200x200)。此方法不執行任何調整大小操作;它僅根據尺寸和提供的 錨點(如果有)提取圖像的區域。
{{ with resources.Get "images/original.jpg" }}
{{ with .Crop "200x200 TopRight" }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}在上面的示例中,"200x200 TopRight" 是_處理規格_。
處理規范
處理規范是一個空格分隔、不區分大小寫的列表,包含以下一個或多個選項(順序任意):
- action
- 指定
crop、fill、fit或resize之一。這適用於Process方法和images.Process濾鏡。如果指定了動作,還必須提供尺寸。 - anchor
- 裁剪或填充圖像時使用的焦點。有效選項包括
TopLeft、Top、TopRight、Left、Center、Right、BottomLeft、Bottom、BottomRight或Smart。Smart選項利用smartcrop.js庫來識別圖像中最有趣的區域。這默認為站點配置中的anchor參數。 - background color
- 將透明圖像轉換為不支持透明的格式(如 PNG 轉 JPEG)時使用的背景色。當按非正交角度旋轉圖像時,如果空間不透明且處理規范中未指定背景色,此顏色也會填充產生的空白區域。值必須是 RGB 十六進制顏色。這默認為站點配置中的
bgColor參數。 - compression
- New in v0.153.5
- 用於圖像的編碼策略。選項為
lossy或lossless。請注意,lossless僅 WebP 格式支持。這默認為站點配置中的compression參數。 - dimensions
- 結果圖像的尺寸,以像素為單位。格式為
WIDTHxHEIGHT,其中WIDTH和HEIGHT為整數。調整圖像大小時,您可以僅指定寬度(如600x)或僅指定高度(如x400)以進行比例縮放。調整圖像大小時同時指定寬度和高度可能會導致非比例縮放。裁剪、適配或填充時,必須同時指定寬度和高度,如600x400。 - format
- 結果圖像的格式。有效選項包括
bmp、gif、jpeg、png、tiff或webp。這默認為源圖像的格式。 - hint
- 處理 WebP 圖像時使用的編碼預設,相當於
cwebpCLI 的-preset標志。有效選項包括drawing、icon、photo、picture或text。這默認為站點配置中的hint參數。值 示例 drawing具有高對比度細節的手繪或線條畫 icon小型彩色圖像 photo自然光下的戶外照片 picture室內照片,如人像 text主要是文本的圖像 - quality
- 圖像的視覺保真度,適用於使用
lossy壓縮的 JPEG 和 WebP 格式。格式為qQUALITY,其中QUALITY是1到100(含)之間的整數。較小的數字優先考慮較小的文件大小,而較大的數字優先考慮視覺清晰度。這默認為站點配置中的quality參數。 - resampling filter
- 調整大小、適配或填充圖像時用於計算新像素的算法。常見選項包括
box、lanczos、catmullRom、mitchellNetravali、linear或nearestNeighbor。這默認為站點配置中的resampleFilter參數。濾鏡 描述 box簡單快速的平均濾鏡,適用於縮小 lanczos高質量重采樣濾鏡,適用於攝影圖像,產生清晰的結果 catmullRom銳利的立方濾鏡,比 Lanczos 濾鏡更快,同時提供相似的結果 mitchellNetravali立方濾鏡,比 CatmullRom 產生更平滑的結果,振鈴偽影更少 linear雙線性重采樣濾鏡,產生平滑輸出,比立方濾鏡更快 nearestNeighbor最快的重采樣濾鏡,無抗鋸齒 有關可用重采樣濾鏡的完整列表,請參閱 源文檔。如果您希望以性能為代價提高圖像質量,可以嘗試使用替代濾鏡。
- rotation
- 逆時針旋轉圖像的整度數。格式為
rDEGREES,其中DEGREES為整數。Hugo 在執行任何其他變換之前執行旋轉,因此您的 目標尺寸 和任何 錨點 都應指旋轉後的圖像方向。使用r90、r180或r270進行正交旋轉,或使用任意角度如r45。要順時針旋轉,請使用負數如r-45。要根據圖像的 Exif 方向標簽自動旋轉圖像,請使用images.AutoOrient濾鏡而不是手動旋轉。按非正交值旋轉會增加圖像范圍以適應旋轉後的角落。對於支持 alpha 通道的格式(如 PNG 或 WebP),此產生的空白區域默認為透明。如果目標格式不支持透明(如 JPEG),或者您在處理規范中明確指定了 背景色,則會填充該空間。如果需要顏色但未在處理字符串中指定,則默認為站點配置中的
bgColor參數。
示例
{{ with resources.Get "images/original.jpg" }}
{{ with .Crop "200x200 TopRight" }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}Original
Processed