Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

GMImage.GetAttribute

Query a named attribute.

Component Version macOS Windows Linux Server iOS SDK
GraphicsMagick 2.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "GMImage.GetAttribute"; ImageRef; Name { ; Encoding } )   More

Parameters

Parameter Description Example Flags
ImageRef The image reference number. 1
Name The name of the attribute.
Encoding The text encoding.
Default is UTF-8.
Possible encoding names: ANSI, ISO-8859-1, Latin1, Mac, Native, UTF-8, DOS, Hex, Base64 or Windows. More listed in the FAQ.
UTF8 Optional

Result

Returns the value as string.

Description

Query a named attribute.
Any number of named attributes may be attached to the image. For example, the image comment is a named image attribute with the name "comment". EXIF tags are attached to the image as named attributes. Use the syntax "EXIF:<tag>" to request an EXIF tag similar to "EXIF:DateTime":

Unicode characters are escaped with backslash followed by three digits. If encoding is UTF-8 for example the encoding \303\244 represents an "ä". This changed in v15.3 where the plugin automatically decodes this.

For IPTC keywords, better use GMImage.GetIPTCProfileValues to get all keywords.

Examples

Read EXIF DateTime:

MBS( "GMImage.GetAttribute"; $image; "EXIF:DateTime" )

Query IPTC Keywords:

MBS("GMImage.GetAttribute"; $img; "IPTC:2:25"; "UTF-8")

Query JPEG Quality used to compress image:

Set Variable [$img; Value:MBS("GMImage.NewFromContainer"; Image::InputImage)]
Set Variable [$value; Value:MBS("GMImage.GetAttribute"; $img; "JPEG-Quality")]
Show Custom Dialog ["JPEG Quality used to compress image"; $value]
Set Variable [$r; Value:MBS("GMImage.Release"; $img)]

Read PNG original color type:

MBS("GMimage.GetAttribute"; $image; "png:IHDR.color-type-orig")
// Value is combination of 0 = gray, 1 = palette, 2 = color, 4 = alpha
// e.g. 4 = Gray + Alpha, 6 = RGBA, 2 = RGB, 0 = Gray

Query JPEG Colorspace:

MBS("GMImage.GetAttribute"; $img; "JPEG-Colorspace-Name") & " " & MBS("GMImage.GetAttribute"; $img; "JPEG-Colorspace")
// the numbers are: 1 = grayscale, 2 = RGB, 3 = YCbCr, 4 = CMYK, 5 = YCCK

Show GPS location:

Set Variable [ $img ; Value: MBS("GMImage.NewFromContainer"; GraphicsMagick Exif::InputImage) ]
Set Variable [ $lat ; Value: MBS("GMImage.GetAttribute"; $img; "EXIF:GPSLatitude") ]
Set Variable [ $long ; Value: MBS("GMImage.GetAttribute"; $img; "EXIF:GPSLongitude") ]
Show Custom Dialog [ "GPS" ; $lat & " / " & $long ]
Set Variable [ $r ; Value: MBS("GMImage.Release"; $img) ]

Get all Exif values as list with name=value:

Set Variable [ $tag ; Value: "*" ]
Set Variable [ $value ; Value: MBS("GMImage.GetAttribute"; $img; "EXIF:" & $tag) ]

Example result:
Make=Apple
Model=iPhone 4S
Orientation=1
...

Get all Exif values as list id=value:

Set Variable [ $tag ; Value: "!" ]
Set Variable [ $value ; Value: MBS("GMImage.GetAttribute"; $img; "EXIF:" & $tag) ]

Example result:
#010f=Apple
#0110=iPhone 4S
#0112=1
...

Get an EXIF vsalue based on hex noted id:

Set Variable [ $tag ; Value: "#0110" ]
Set Variable [ $value ; Value: MBS("GMImage.GetAttribute"; $img; "EXIF:" & $tag) ]

Example result: iPhone 4S

See also

Release notes

Example Databases

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 20th May 2025


GMImage.GetAntiAlias - GMImage.GetAttributeNames