HUGO
Menu
GitHub 87548 stars Mastodon

Resize

适用于图像,返回根据给定处理规格调整大小的新图像资源。

Syntax

RESOURCE.Resize SPECIFICATION

Returns

images.ImageResource

此方法可用于 全局资源页面资源远程资源

根据给定的 处理规格 调整图像大小。您可以仅指定宽度(如 300x)或仅指定高度(如 x150)进行比例缩放。如果您同时指定宽度和高度(如 300x150),图像将调整为这些精确尺寸;如果纵横比与原始图像不同,图像将非比例缩放(拉伸或压缩)。该操作使用提供的 重采样滤镜(如果有)。

{{ with resources.Get "images/original.jpg" }}
  {{ with .Resize "300x lanczos" }}
    <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
  {{ end }}
{{ end }}

在上面的示例中,"300x lanczos" 是_处理规格_。

处理规范

处理规范是一个空格分隔、不区分大小写的列表,包含以下一个或多个选项(顺序任意):

action
指定 cropfillfitresize 之一。这适用于 Process 方法和 images.Process 滤镜。如果指定了动作,还必须提供尺寸。
anchor
裁剪或填充图像时使用的焦点。有效选项包括 TopLeftTopTopRightLeftCenterRightBottomLeftBottomBottomRightSmartSmart 选项利用 smartcrop.js 库来识别图像中最有趣的区域。这默认为站点配置中的 anchor 参数。
background color
将透明图像转换为不支持透明的格式(如 PNG 转 JPEG)时使用的背景色。当按非正交角度旋转图像时,如果空间不透明且处理规范中未指定背景色,此颜色也会填充产生的空白区域。值必须是 RGB 十六进制颜色。这默认为站点配置中的 bgColor 参数。
compression
New in v0.153.5
用于图像的编码策略。选项为 lossylossless。请注意,lossless 仅 WebP 格式支持。这默认为站点配置中的 compression 参数。
dimensions
结果图像的尺寸,以像素为单位。格式为 WIDTHxHEIGHT,其中 WIDTHHEIGHT 为整数。调整图像大小时,您可以仅指定宽度(如 600x)或仅指定高度(如 x400)以进行比例缩放。调整图像大小时同时指定宽度和高度可能会导致非比例缩放。裁剪、适配或填充时,必须同时指定宽度和高度,如 600x400
format
结果图像的格式。有效选项包括 bmpgifjpegpngtiffwebp。这默认为源图像的格式。
hint
处理 WebP 图像时使用的编码预设,相当于 cwebp CLI 的 -preset 标志。有效选项包括 drawingiconphotopicturetext。这默认为站点配置中的 hint 参数。
示例
drawing 具有高对比度细节的手绘或线条画
icon 小型彩色图像
photo 自然光下的户外照片
picture 室内照片,如人像
text 主要是文本的图像
quality
图像的视觉保真度,适用于使用 lossy 压缩的 JPEG 和 WebP 格式。格式为 qQUALITY,其中 QUALITY1100(含)之间的整数。较小的数字优先考虑较小的文件大小,而较大的数字优先考虑视觉清晰度。这默认为站点配置中的 quality 参数。
resampling filter
调整大小、适配或填充图像时用于计算新像素的算法。常见选项包括 boxlanczoscatmullRommitchellNetravalilinearnearestNeighbor。这默认为站点配置中的 resampleFilter 参数。
滤镜 描述
box 简单快速的平均滤镜,适用于缩小
lanczos 高质量重采样滤镜,适用于摄影图像,产生清晰的结果
catmullRom 锐利的立方滤镜,比 Lanczos 滤镜更快,同时提供相似的结果
mitchellNetravali 立方滤镜,比 CatmullRom 产生更平滑的结果,振铃伪影更少
linear 双线性重采样滤镜,产生平滑输出,比立方滤镜更快
nearestNeighbor 最快的重采样滤镜,无抗锯齿

有关可用重采样滤镜的完整列表,请参阅 源文档。如果您希望以性能为代价提高图像质量,可以尝试使用替代滤镜。

rotation
逆时针旋转图像的整度数。格式为 rDEGREES,其中 DEGREES 为整数。Hugo 在执行任何其他变换之前执行旋转,因此您的 目标尺寸 和任何 锚点 都应指旋转后的图像方向。使用 r90r180r270 进行正交旋转,或使用任意角度如 r45。要顺时针旋转,请使用负数如 r-45。要根据图像的 Exif 方向标签自动旋转图像,请使用 images.AutoOrient 滤镜而不是手动旋转。

按非正交值旋转会增加图像范围以适应旋转后的角落。对于支持 alpha 通道的格式(如 PNG 或 WebP),此产生的空白区域默认为透明。如果目标格式不支持透明(如 JPEG),或者您在处理规范中明确指定了 背景色,则会填充该空间。如果需要颜色但未在处理字符串中指定,则默认为站点配置中的 bgColor 参数。

示例

{{ with resources.Get "images/original.jpg" }}
  {{ with .Resize "300x lanczos" }}
    <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
  {{ end }}
{{ end }}

Original

Zion National Park

Processed

Zion National Park

Last updated: January 1, 0001
Improve this page