Meta
Syntax
Returns
适用于 JPEG、PNG、TIFF 和 WebP 图像,图像 Resource 对象上的 Meta 方法返回包含 Exif、IPTC 和 XMP 元数据的对象。
要仅提取 Exif 元数据,请改用 Exif 方法。
元数据在图像转换期间不会保留。使用此方法与_原始_图像资源一起从 JPEG、PNG、TIFF 和 WebP 图像中提取元数据。
方法
Date
(time.Time)返回图像创建日期/时间。使用 time.Format 函数格式化。
Lat
(float64)从 Exif 元数据返回 GPS 纬度(度),并回退到 XMP 元数据。
Long
(float64)从 Exif 元数据返回 GPS 经度(度),并回退到 XMP 元数据。
Orientation
(int)返回 Exif Orientation 标签的值,八个可能值之一:
| 值 | 描述 |
|---|---|
1 |
水平(正常) |
2 |
水平镜像 |
3 |
旋转 180 度 |
4 |
垂直镜像 |
5 |
水平镜像并顺时针旋转 270 度 |
6 |
顺时针旋转 90 度 |
7 |
水平镜像并顺时针旋转 90 度 |
8 |
顺时针旋转 270 度 |
使用 images.AutoOrient 图像滤镜根据 Exif 方向标签按需旋转和翻转图像
Exif
(meta.Tags)返回此图像可用的 Exif 字段集合。可用性由 sources 设置确定,特定字段通过 fields 设置管理,两者都在站点配置中管理。
IPTC
(meta.Tags)返回此图像可用的 IPTC 字段集合。可用性由 sources 设置确定,特定字段通过 fields 设置管理,两者都在站点配置中管理。
XMP
(meta.Tags)返回此图像可用的 XMP 字段集合。可用性由 sources 设置确定,特定字段通过 fields 设置管理,两者都在站点配置中管理。
示例
要列出创建日期、纬度、经度和方向:
{{ with resources.Get "images/a.jpg" }}
{{ with .Meta }}
<pre>
{{ printf "%-25s %v\n" "Date" .Date }}
{{ printf "%-25s %v\n" "Latitude" .Lat }}
{{ printf "%-25s %v\n" "Longitude" .Long }}
{{ printf "%-25s %v\n" "Orientation" .Orientation }}
</pre>
{{ end }}
{{ end }}要列出可用的 Exif 字段:
{{ with resources.Get "images/a.jpg" }}
{{ with .Meta }}
<pre>
{{ range $k, $v := .Exif -}}
{{ printf "%-25s %v\n" $k $v }}
{{ end }}
</pre>
{{ end }}
{{ end }}要列出可用的 IPTC 字段:
{{ with resources.Get "images/a.jpg" }}
{{ with .Meta }}
<pre>
{{ range $k, $v := .IPTC -}}
{{ printf "%-25s %v\n" $k $v }}
{{ end }}
</pre>
{{ end }}
{{ end }}要列出可用的 XMP 字段:
{{ with resources.Get "images/a.jpg" }}
{{ with .Meta }}
<pre>
{{ range $k, $v := .XMP -}}
{{ printf "%-25s %v\n" $k $v }}
{{ end }}
</pre>
{{ end }}
{{ end }}要一起列出可用的 Exif、IPTC 和 XMP 字段:
{{ with resources.Get "images/a.jpg" }}
{{ with .Meta }}
<pre>
{{ range $k, $v := merge .Exif .IPTC .XMP -}}
{{ printf "%-25s %v\n" $k $v }}
{{ end }}
</pre>
{{ end }}
{{ end }}要列出特定值:
{{ with resources.Get "images/a.jpg" }}
{{ with .Meta }}
<pre>
{{ with .Exif.ApertureValue }}{{ printf "%-25s %v\n" "ApertureValue" . }}{{ end }}
{{ with .Exif.BrightnessValue }}{{ printf "%-25s %v\n" "BrightnessValue" . }}{{ end }}
{{ with .IPTC.Headline }}{{ printf "%-25s %v\n" "Headline" . }}{{ end }}
{{ with index .IPTC "Province-State" }}{{ printf "%-25s %v\n" "Province-State" . }}{{ end }}
{{ with .XMP.Creator }}{{ printf "%-25s %v\n" "Creator" . }}{{ end }}
{{ with .XMP.Subject }}{{ printf "%-25s %v\n" "Subject" . }}{{ end }}
</pre>
{{ end }}
{{ end }}