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 |
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 "ä".
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
- GMImage.GetAttributeNames
- GMImage.GetAttributesJSON
- GMImage.GetComment
- GMImage.GetIPTCProfile
- GMImage.GetIPTCProfileValues
- GMImage.New
- GMImage.NewFromContainer
- GMImage.Release
- GMImage.SetAttribute
Release notes
- Version 9.2
- Added GMImage.GetAttributeNames and GMImage.GetAttributesJSON functions.
Example Databases
Blog Entries
- Goodies 38: Copy calculation text as html or styled text
- GraphicsMagick in FileMaker, part 19
- JPEG Quality Estimate
This function checks for a license.
Created 18th August 2014, last changed 3th October 2024