Platforms to show: All Mac Windows Linux Cross-Platform

/GraphicsMagick/GraphicsMagick/GM Exif


Required plugins for this example: MBS GraphicsMagick Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /GraphicsMagick/GraphicsMagick/GM Exif

This example is the version from Thu, 6th Apr 2016.

Project "GM Exif.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
EventHandler Sub Open() 'dim f as FolderItem = GetOpenFolderItem("") dim f as FolderItem = FindFile("test.jpg") if f = nil then quit dim g as new GMImageMBS(f) Title = f.DisplayName dim ExifTags() as string = array("GPSLatitudeRef", "GPSLatitude", "GPSLongitudeRef", "GPSLongitude", "GPSAltitudeRef", "GPSAltitude", _ "GPSTimeStamp", "GPSSatellites", "GPSStatus", "GPSMeasureMode", "GPSDOP", "GPSSpeedRef", "GPSSpeed", "GPSTrackRef", "GPSTrack", _ "GPSImgDirectionRef", "GPSImgDirection", "GPSMapDatum", "GPSDestLatitudeRef", "GPSDestLatitude", "GPSDestLongitudeRef", "GPSDestLongitude", _ "GPSDestBearingRef", "GPSDestBearing", "GPSDestDistanceRef", "GPSDestDistance", "GPSDateStamp", "ImageWidth", "ImageLength", "BitsPerSample", _ "Compression", "PhotometricInterpretation", "FillOrder", "DocumentName", "ImageDescription", "Make", "Model", "StripOffsets", "Orientation", _ "SamplesPerPixel", "RowsPerStrip", "StripByteCounts", "MinSampleValue", "MaxSampleValue", "XResolution", "YResolution", "PlanarConfiguration", _ "PageName", "XPosition", "YPosition", "FreeOffsets", "FreeByteCounts", "GrayResponseUnit", "GrayResponseCurve", "T4Options", "T6Options", _ "ResolutionUnit", "TransferFunction", "Software", "DateTime", "Artist", "HostComputer", "Predictor", "WhitePoint", "PrimaryChromaticities", _ "ColorMap", "HalfToneHints", "TileWidth", "TileLength", "TileOffsets", "TileByteCounts", "SubIFD", "InkSet", "InkNames", "NumberOfInks", "DotRange", _ "TargetPrinter", "ExtraSample", "SampleFormat", "SMinSampleValue", "SMaxSampleValue", "TransferRange", "ClipPath", "XClipPathUnits", _ "YClipPathUnits", "Indexed", "JPEGTables", "OPIProxy", "JPEGProc", "JPEGInterchangeFormat", "JPEGInterchangeFormatLength", "JPEGRestartInterval", _ "JPEGLosslessPredictors", "JPEGPointTransforms", "JPEGQTables", "JPEGDCTables", "JPEGACTables", "YCbCrCoefficients", "YCbCrSubSampling", _ "YCbCrPositioning", "ReferenceBlackWhite", "ExtensibleMetadataPlatform", "Gamma", "ICCProfileDescriptor", "SRGBRenderingIntent", "ImageTitle", _ "ResolutionXUnit", "ResolutionYUnit", "ResolutionXLengthUnit", "ResolutionYLengthUnit", "PrintFlags", "PrintFlagsVersion", "PrintFlagsCrop", _ "PrintFlagsBleedWidth", "PrintFlagsBleedWidthScale", "HalftoneLPI", "HalftoneLPIUnit", "HalftoneDegree", "HalftoneShape", "HalftoneMisc", _ "HalftoneScreen", "JPEGQuality", "GridSize", "ThumbnailFormat", "ThumbnailWidth", "ThumbnailHeight", "ThumbnailColorDepth", "ThumbnailPlanes", _ "ThumbnailRawBytes", "ThumbnailSize", "ThumbnailCompressedSize", "ColorTransferFunction", "ThumbnailData", "ThumbnailImageWidth", _ "ThumbnailImageHeight", "ThumbnailBitsPerSample", "ThumbnailCompression", "ThumbnailPhotometricInterp", "ThumbnailImageDescription", _ "ThumbnailEquipMake", "ThumbnailEquipModel", "ThumbnailStripOffsets", "ThumbnailOrientation", "ThumbnailSamplesPerPixel", "ThumbnailRowsPerStrip", _ "ThumbnailStripBytesCount", "ThumbnailResolutionX", "ThumbnailResolutionY", "ThumbnailPlanarConfig", "ThumbnailResolutionUnit", _ "ThumbnailTransferFunction", "ThumbnailSoftwareUsed", "ThumbnailDateTime", "ThumbnailArtist", "ThumbnailWhitePoint", _ "ThumbnailPrimaryChromaticities", "ThumbnailYCbCrCoefficients", "ThumbnailYCbCrSubsampling", "ThumbnailYCbCrPositioning", "ThumbnailRefBlackWhite", _ "ThumbnailCopyRight", "LuminanceTable", "ChrominanceTable", "FrameDelay", "LoopCount", "PixelUnit", "PixelPerUnitX", "PixelPerUnitY", _ "PaletteHistogram", "RelatedImageFileFormat", "ImageID", "Matteing", "DataType", "ImageDepth", "TileDepth", "CFARepeatPatternDim", "CFAPattern", _ "BatteryLevel", "Copyright", "ExposureTime", "FNumber", "IPTC/NAA", "IT8RasterPadding", "IT8ColorTable", "ImageResourceInformation", "ExifOffset", _ "InterColorProfile", "ExposureProgram", "SpectralSensitivity", "GPSInfo", "ISOSpeedRatings", "OECF", "ExifVersion", "DateTimeOriginal", _ "DateTimeDigitized", "ComponentsConfiguration", "CompressedBitsPerPixel", "ShutterSpeedValue", "ApertureValue", "BrightnessValue", _ "ExposureBiasValue", "MaxApertureValue", "SubjectDistance", "MeteringMode", "LightSource", "Flash", "FocalLength", "MakerNote", "UserComment", _ "SubSecTime", "SubSecTimeOriginal", "SubSecTimeDigitized", "FlashPixVersion", "ColorSpace", "ExifImageWidth", "ExifImageLength", _ "InteroperabilityOffset", "FlashEnergy", "SpatialFrequencyResponse", "Noise", "FocalPlaneXResolution", "FocalPlaneYResolution", _ "FocalPlaneResolutionUnit", "ImageNumber", "SecurityClassification", "ImageHistory", "SubjectLocation", "ExposureIndex", "TIFF_EPStandardID", _ "SensingMethod", "FileSource", "SceneType", "CFAPattern", "CustomRendered", "ExposureMode", "WhiteBalance", "DigitalZoomRatio", _ "FocalLengthIn35mmFilm", "SceneCaptureType", "GainControl", "Contrast", "Saturation", "Sharpness", "DeviceSettingDescription", _ "SubjectDistanceRange", "ImageUniqueID") ShowTags g, "Exif", "EXIF:", ExifTags End EventHandler
Function FindFile(name as string) As FolderItem // Look for file in parent folders from executable on dim parent as FolderItem = app.ExecutableFile.Parent while parent<>Nil dim file as FolderItem = parent.Child(name) if file<>Nil and file.Exists then Return file end if parent = parent.Parent wend End Function
Sub ShowTags(g as GMImageMBS, label as string, prefix as string, tags() as string) for each t as string in tags dim tag as string = prefix+t dim value as string = g.attributeValue(tag) if value <> "unknown" then list.AddRow label, tag, value end if next End Sub
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project

See also:

The items on this page are in the following plugins: MBS GraphicsMagick Plugin.


The biggest plugin in space...