ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Windows functions / EXIF functions
  • Correspondence between tags and constants
  • Managing errors
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
ImageInfoValue (Function)
In french: ImageInfoValeur
Returns the value of an Exif tag for the image used.
Remarks:
  • The Exif (EXchangeable Image File) information is included in the image file. This standard defines a set of tags used to store information about the image: date, width, orientation, camera model, shutter speed, distance, exposure time, ...
  • To handle the Exif tags of an image, use the Exif property of Image variables. This property can be used on Android applications.
Example
TagList is string
MyTag is int
i is int = 1
// Retrieve the available tags for
// the JPEG image displayed in the "IMG_MyImageControl" control
TagList = ImageInfoList(IMG_MyImageControl)
WHILE ExtractString(TagList, i, CR) <> EOT
// Retrieve each tag
MyTag = ExtractString(TagList, i, CR)
// Add the tag and its value into TABLE_MyTable
TableAddLine(TABLE_MyTable, MyTag, ...
ImageInfoValue(IMG_MyImageControl, MyTag))
i ++
END
ImgPath is string = "C:\My Images\MyImage.JPG"
// Find out the creation date of this image
Info("Creation date: " + ImageInfoValue(ImgPath, imgDate) + CR + ...
"Lightness: " + ImageInfoValue(ImgPath, imgBrightness) + CR + ...
"Focal length: " + ImageInfoValue(ImgPath, imgFocalLength) + CR + ...
"Aperture: " + ImageInfoValue(ImgPath, imgAperture))
// Close the image file
ImageInfoClose(ImgPath)
Syntax
<Result> = ImageInfoValue(<Image> , <Tag>)
<Result>: Buffer
Value of the specified tag for the image used.
<Image>: Character string
Image to use. This image can correspond to:
  • an image file (JPEG or TIFF format): specify the name and the full (or relative) path of the file. A UNC path can be used.
    In this case, the file must be closed by ImageInfoClose.
  • an image (JPEG or TIFF format) displayed in an Image control: specify the name of the Image control.
  • an image (JPEG or TIFF format) found in an image memo: specify this image memo.
  • an image (JPEG or TIFF format) found in a binary string: specify this binary string.
<Tag>: Constant or integer
Tag whose value is requested. This tag can correspond to:
  • an integer given by ImageInfoList.
  • a WLanguage constant. For more details, see "Correspondence between tags and constants".
Remarks

Correspondence between tags and constants

The table below presents the correspondence between tags and WLanguage constants.
TagWLanguage constantValue
37510imgCommentCharacter string
Comments about the image
37122imgCompressionReal
Compression of the image in bits/pixel
33432imgCopyrightCharacter string
Copyright of the image
306imgDateDate
Date and time of the image in YYYY:MM:DD HH:MM:SS format
270imgDescriptionCharacter string
Image description
37382imgSubjectDistanceReal
Distance from the subject in meters
37380imgExposureBiasReal
Exposure bias in APEX
37385imgFlashInteger
Status of the flash during the shot:
  • 0: Flash off.
  • 1: Flash on.
  • 5: Flash on and light not detected.
  • 7: Flash on and light detected.
928imgHeightInteger
Height of image in pixels
672imgWidthInteger
Width of image in pixels
305imgRecordingSoftwareCharacter string
Name of the software that was used to record the image.
37386imgFocalLengthReal
Focal length in millimeters
37379imgBrightnessReal
Brightness of the image in APEX
271imgDeviceMarkCharacter string
Mark of the camera that took the photo
272imgDeviceModelCharacter string
Model of camera that took the photo
37383imgMeteringModeInteger
Metering mode:
  • 0: unknown.
  • 1: average.
  • 2: average centered.
  • 3: point.
  • 4: multidot.
  • 5: pattern.
  • 6: partial.
  • 7 to 254: reserved.
  • 255: other.
37500imgManufacturerNoteCharacter string
Name of the camera manufacturer
274imgOrientationInteger
Orientation of the image:
This information indicates the location of the point (0,0) in the image.
To display the image in the correct direction based on this information, use the following values:
  • 1: the point (0,0) is at the top left, there is nothing to do.
  • 2: the point (0,0) is at the top right, the image must be flipped horizontally.
  • 3: the point (0,0) is at the bottom right, the image must be flipped horizontally and vertically.
  • 4: the point (0,0) is at the bottom left, the image must be flipped horizontally.
  • 5: the point (0,0) is at the top left, the image must be flipped horizontally and rotated 90°.
  • 6: the point (0,0) is at the top right, the image must be rotated 90°.
  • 7: the point (0,0) is at the bottom left, the image must be flipped vertically and rotated 90°.
  • 8: the point (0,0) is at the bottom right, the image must be rotated -90°.
37378imgApertureReal
Aperture in APEX
33437imgFApertureReal
Focal
37381imgMaxApertureReal
Maximum aperture in APEX
34850imgExposureProgramInteger
Exposure mode used during the shot:
  • 0: undefined.
  • 1: manual.
  • 2: normal.
  • 3: priority to aperture.
  • 4: priority to speed.
  • 5: creation.
  • 6: action.
  • 7: close-up portrait without background.
  • 8: landscape.
  • 9 to 255: others.
282imgXResolutionReal
Horizontal resolution of the image
283imgYResolutionReal
Vertical resolution of the image
37384imgLightSourceInteger
Light source for the image:
  • 0: unknown.
  • 1: daylight.
  • 2: fluorescent.
  • 3: tungsten.
  • 17: standard light A.
  • 18: standard light B.
  • 19: standard light C.
  • 20: D55.
  • 21: D65.
  • 22: D75.
  • 23 to 254: reserved.
  • 255: other.
33434imgExposureTimeReal
Exposure time
296imgResolutionUnitInteger
Unit for the horizontal and vertical resolution of the image:
  • 2: inches.
  • 3: centimeters.
36864imgEXIFVersionCharacter string
Version of Exif information
65536imgThumbnailBinary string
Thumbnail corresponding to the image
37377imgShutterSpeedReal
Shutter speed in APEX

Other tags are also available. These unlisted tags are specific to some types of cameras or correspond to custom tags.

Managing errors

ImageInfoValue returns no error code. To determine if this function generated an error, use the ErrorOccurred variable. If an error occurs, you can get more details on the error with ErrorInfo.
Related Examples:
The EXIF functions Unit examples (WINDEV): The EXIF functions
[ + ] Using the ImageXXX functions.
These functions are used to access the EXIF information of an image.
The EXIF information is included in the JPEG or TIFF images.
It can be for example the snapshot date, the orientation of the device when taking the photo, the make and model of the camera, a miniature of the image...
Component: wd290img.dll
See also
Minimum version required
  • Version 10
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/23/2023

Send a report | Local help