images.Mask
返回一个对源图像应用遮罩的图像滤镜。
(0.141.0 新增)
images.Mask 滤镜对图像应用遮罩。遮罩中的黑色像素使基础图像对应区域变为透明,白色像素则保持不透明。彩色图像会先转换为灰度再用于遮罩。遮罩会自动缩放以匹配基础图像的尺寸。
对 JPEG 之类不支持透明度的格式应用遮罩时,遮罩区域会填充为项目配置中 bgColor 参数指定的颜色。可以用 Process 图像滤镜覆盖该颜色:
{{ $filter := images.Process "#00ff00" }}用法
创建一个滤镜切片,其中一个负责格式转换,另一个负责应用遮罩:
{{ $filter1 := images.Process "webp" }}
{{ $filter2 := images.Mask (resources.Get "images/mask.png") }}
{{ $filters := slice $filter1 $filter2 }}用 images.Filter 函数应用这些滤镜:
{{ with resources.Get "images/original.jpg" }}
{{ with . | images.Filter $filters }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}也可以在 Resource 对象上调用 Filter 方法应用该滤镜:
{{ with resources.Get "images/original.jpg" }}
{{ with .Filter $filters }}
<img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
{{ end }}
{{ end }}示例
遮罩:
英文原文此处展示一张遮罩图像(images/examples/mask.png)。
英文原文此处再用示例照片演示应用 mask 滤镜的前后对比效果;本站未收录这两张示例图。