ExifInterface


class ExifInterface


This is a class for reading and writing Exif tags in various image file formats.

Supported for reading: JPEG, PNG, WebP, HEIC, DNG, CR2, NEF, NRW, ARW, RW2, ORF, PEF, SRW, RAF, AVIF (on API 31+).

Supported for writing: JPEG, PNG, WebP.

XMP Support

This class can read raw XMP data from the supported image file formats.

XMP data can be stored within Exif data (under tag 700), but many of the formats also define a separate storage location for XMP. ExifInterface handles this ambiguity as follows:

  • JPEG
    • The XMP spec part 3 section 3.3.2 forbids the XMP tag (700) being present in the Exif segment of JPEG files (i.e. XMP should always be in a separate APP1 segment).
    • If XMP is present in both Exif and separate segments, the XMP from the Exif segment is returned from getAttributeBytes and modifications to the XMP with setAttribute are written back to the XMP in the Exif segment, the XMP in the separate segment is preserved unmodified. This is contrary to the spec described above (which suggests the standalone XMP should be preferred over the XMP in the Exif segment).
    • If XMP is not present in either location, and is added with setAttribute, it is written as a standalone segment, in line with the spec described above.
  • HEIF
    • If XMP is present in both Exif and separate segments, the XMP from the Exif segment is returned from getAttributeBytes.
Note: JPEG and HEIF files may contain XMP data either inside the Exif data chunk or outside of it. This class will search both locations for XMP data, but if XMP data exist both inside and outside Exif, will favor the XMP data inside Exif over the one outside.

Summary

Constants

const Short

The constant used by TAG_GPS_ALTITUDE_REF to denote the altitude is above sea level.

const Short

The constant used by TAG_GPS_ALTITUDE_REF to denote the altitude is below sea level.

const IntArray<Int>!

The constant used by TAG_BITS_PER_SAMPLE.

const IntArray<Int>!

The constant used by TAG_BITS_PER_SAMPLE.

const IntArray<Int>!

The constant used by TAG_BITS_PER_SAMPLE.

const Int

The constant used by TAG_COLOR_SPACE to denote sRGB color space.

const Int

The constant used by TAG_COLOR_SPACE to denote Uncalibrated.

const Short

The constant used by TAG_CONTRAST to denote hard contrast.

const Short

The constant used by TAG_CONTRAST to denote normal contrast.

const Short

The constant used by TAG_CONTRAST to denote soft contrast.

const Int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0.

const Int

The constant used by TAG_COMPRESSION to denote the image is huffman compressed.

const Int

The constant used by TAG_COMPRESSION to denote the image is JPEG.

const Int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0.

const Int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0.

const Int

The constant used by TAG_COMPRESSION to denote the image is pack-bits compressed.

const Int

The constant used by TAG_COMPRESSION to denote the image is not compressed.

const Short

The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Auto.

const Short

The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Auto bracket.

const Short

The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Manual.

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Action program (biased toward fast shutter speed).

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Aperture priority.

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Creative program (biased toward depth of field).

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Landscape mode (for landscape photos with the background in focus).

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Manual.

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Normal.

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is not defined.

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Portrait mode (for closeup photos with the background out of focus).

const Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Shutter priority.

const Short

The constant used by TAG_FILE_SOURCE to denote the source is DSC.

const Short

The constant used by TAG_FILE_SOURCE to denote the source is other.

const Short

The constant used by TAG_FILE_SOURCE to denote the source is scanner of reflex type.

const Short

The constant used by TAG_FILE_SOURCE to denote the source is scanner of transparent type.

const Short

The flag used by TAG_FLASH to indicate whether the flash is fired.

const Short

The flag used by TAG_FLASH to indicate the camera's flash mode is Auto.

const Short

The flag used by TAG_FLASH to indicate the camera's flash mode is Compulsory flash firing.

const Short

The flag used by TAG_FLASH to indicate the camera's flash mode is Compulsory flash suppression.

const Short

The flag used by TAG_FLASH to indicate no flash function is present.

const Short

The flag used by TAG_FLASH to indicate red-eye reduction is supported.

const Short

The flag used by TAG_FLASH to indicate strobe return light is detected.

const Short

The flag used by TAG_FLASH to indicate strobe return light is not detected.

const Short

The constant used by TAG_PLANAR_CONFIGURATION to denote Chunky format.

const Short

The constant used by TAG_PLANAR_CONFIGURATION to denote Planar format.

const Short

The constant used by TAG_GAIN_CONTROL to denote high gain down.

const Short

The constant used by TAG_GAIN_CONTROL to denote high gain up.

const Short

The constant used by TAG_GAIN_CONTROL to denote low gain down.

const Short

The constant used by TAG_GAIN_CONTROL to denote low gain up.

const Short

The constant used by TAG_GAIN_CONTROL to denote none gain adjustment.

const String!

The constant used by GPS attributes to denote the direction is magnetic direction.

const String!

The constant used by GPS attributes to denote the direction is true direction.

const String!

The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is kilometers.

const String!

The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is miles.

const String!

The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is nautical miles.

const String!

The constant used by TAG_GPS_MEASURE_MODE to denote GPS measurement is 2-dimensional.

const String!

The constant used by TAG_GPS_MEASURE_MODE to denote GPS measurement is 3-dimensional.

const Short

The constant used by TAG_GPS_DIFFERENTIAL to denote differential correction is applied.

const String!

The constant used by TAG_GPS_STATUS to denote GPS measurement is interrupted.

const String!

The constant used by TAG_GPS_STATUS to denote GPS measurement is in progress.

const Short

The constant used by TAG_GPS_DIFFERENTIAL to denote no differential correction is applied.

const String!

The constant used by TAG_GPS_SPEED_REF to denote the speed unit is kilometers per hour.

const String!

The constant used by TAG_GPS_SPEED_REF to denote the speed unit is knots.

const String!

The constant used by TAG_GPS_SPEED_REF to denote the speed unit is miles per hour.

const String!

The constant used by GPS latitude-related tags to denote the latitude is North latitude.

const String!

The constant used by GPS latitude-related tags to denote the latitude is South latitude.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Cloudy weather.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Cool white fluorescent (W 3800 - 4500K).

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D50.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D55.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D65.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D75.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Daylight.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Daylight fluorescent (D 5700 - 7100K).

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Day white fluorescent (N 4600 - 5500K).

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Fine weather.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Flash.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Fluorescent.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is ISO studio tungsten.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is other.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Shade.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light A.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light B.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light C.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Tungsten (incandescent light).

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is unknown.

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Warm white fluorescent (L 2600 - 3250K).

const Short

The constant used by TAG_LIGHT_SOURCE to denote light source is White fluorescent (WW 3250 - 3800K).

const String!

The constant used by GPS longitude-related tags to denote the longitude is East longitude.

const String!

The constant used by GPS longitude-related tags to denote the longitude is West longitude.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is Average.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is CenterWeightedAverage.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is MultiSpot.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is other.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is Partial.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is Pattern.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is Spot.

const Short

The constant used by TAG_METERING_MODE to denote metering mode is unknown.

const Int

Indicates the image is left right reversed mirror.

const Int

Indicates the image is upside down mirror, it can also be represented by flip horizontally firstly and rotate 180 degree clockwise.

const Int
const Int

Indicates the image is rotated by 180 degree clockwise.

const Int

Indicates the image is rotated by 270 degree clockwise.

const Int

Indicates the image is rotated by 90 degree clockwise.

const Int

Indicates the image is flipped about top-left <--> bottom-right axis, it can also be represented by flip horizontally firstly and rotate 270 degree clockwise.

const Int

Indicates the image is flipped about top-right <--> bottom-left axis, it can also be represented by flip horizontally firstly and rotate 90 degree clockwise.

const Int
const Int

The constant used by TAG_NEW_SUBFILE_TYPE.

const Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

const Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

const Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

const Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

const Int

The constant used by TAG_NEW_SUBFILE_TYPE.

const Short

The constant used by TAG_CUSTOM_RENDERED to denote special processing is used.

const Short

The constant used by TAG_CUSTOM_RENDERED to denote no special processing is used.

const Short

The constant used to denote resolution unit as centimeters.

const Short

The constant used to denote resolution unit as inches.

const Short

The constant used by TAG_SHARPNESS to denote high saturation.

const Short

The constant used by TAG_SATURATION to denote low saturation.

const Short

The constant used by TAG_SATURATION to denote normal saturation.

const Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Landscape.

const Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Night scene.

const Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Portrait.

const Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Standard.

const Short

The constant used by TAG_SCENE_TYPE to denote the scene is directly photographed.

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is ISO speed.

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Recommended exposure index (REI).

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Recommended exposure index (REI) and ISO speed.

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS).

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and ISO speed.

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and recommended exposure index (REI).

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and recommended exposure index (REI) and ISO speed.

const Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is unknown.

const Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Color sequential area sensor.

const Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Color sequential linear sensor.

const Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is not defined.

const Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is One-chip color area sensor.

const Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Three-chip color area sensor.

const Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Trilinear sensor.

const Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Two-chip color area sensor.

const Short

The constant used by TAG_SHARPNESS to denote hard sharpness.

const Short

The constant used by TAG_SHARPNESS to denote normal sharpness.

const Short

The constant used by TAG_SHARPNESS to denote soft sharpness.

const Int

Constant used to indicate that the input stream contains only Exif data.

const Int

Constant used to indicate that the input stream contains the full image data.

const Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Close view.

const Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Distant view.

const Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Macro.

const Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is unknown.

const String!
TAG_APERTURE_VALUE = "ApertureValue"

The lens aperture.

const String!
TAG_ARTIST = "Artist"

This tag records the name of the camera owner, photographer or image creator.

const String!
TAG_BITS_PER_SAMPLE = "BitsPerSample"

The number of bits per image component.

const String!
TAG_BODY_SERIAL_NUMBER = "BodySerialNumber"

This tag records the serial number of the body of the camera that was used in photography as an ASCII string.

const String!
TAG_BRIGHTNESS_VALUE = "BrightnessValue"

The value of brightness.

const String!
TAG_CAMARA_OWNER_NAME = "CameraOwnerName"

This property is deprecated.

Use TAG_CAMERA_OWNER_NAME instead.

const String!
TAG_CAMERA_OWNER_NAME = "CameraOwnerName"

This tag records the owner of a camera used in photography as an ASCII string.

const String!
TAG_CFA_PATTERN = "CFAPattern"

Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used.

const String!
TAG_COLOR_SPACE = "ColorSpace"

The color space information tag is always recorded as the color space specifier.

const String!
TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration"

Information specific to compressed data.

const String!
TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel"

Information specific to compressed data.

const String!
TAG_COMPRESSION = "Compression"

The compression scheme used for the image data.

const String!
TAG_CONTRAST = "Contrast"

This tag indicates the direction of contrast processing applied by the camera when the image was shot.

const String!
TAG_COPYRIGHT = "Copyright"

Copyright information.

const String!
TAG_CUSTOM_RENDERED = "CustomRendered"

This tag indicates the use of special processing on image data, such as rendering geared to output.

const String!
TAG_DATETIME = "DateTime"

The date and time of image creation.

const String!
TAG_DATETIME_DIGITIZED = "DateTimeDigitized"

The date and time when the image was stored as digital data.

const String!
TAG_DATETIME_ORIGINAL = "DateTimeOriginal"

The date and time when the original image data was generated.

const String!
TAG_DEFAULT_CROP_SIZE = "DefaultCropSize"

Type is int.

const String!
TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription"

This tag indicates information on the picture-taking conditions of a particular camera model.

const String!
TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio"

This tag indicates the digital zoom ratio when the image was shot.

const String!
TAG_DNG_VERSION = "DNGVersion"

Type is int.

const String!
TAG_EXIF_VERSION = "ExifVersion"

The version of this standard supported.

const String!
TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue"

The exposure bias.

const String!
TAG_EXPOSURE_INDEX = "ExposureIndex"

Indicates the exposure index selected on the camera or input device at the time the image is captured.

const String!
TAG_EXPOSURE_MODE = "ExposureMode"

This tag indicates the exposure mode set when the image was shot.

const String!
TAG_EXPOSURE_PROGRAM = "ExposureProgram"

The class of the program used by the camera to set exposure when the picture is taken.

const String!
TAG_EXPOSURE_TIME = "ExposureTime"

Exposure time, given in seconds.

const String!
TAG_FILE_SOURCE = "FileSource"

Indicates the image source.

const String!
TAG_FLASH = "Flash"

This tag indicates the status of flash when the image was shot.

const String!
TAG_FLASHPIX_VERSION = "FlashpixVersion"

The Flashpix format version supported by a FPXR file.

const String!
TAG_FLASH_ENERGY = "FlashEnergy"

Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds (BCPS).

const String!
TAG_FOCAL_LENGTH = "FocalLength"

The actual focal length of the lens, in mm.

const String!
TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm"

This tag indicates the equivalent focal length assuming a 35mm film camera, in mm.

const String!
TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit"

Indicates the unit for measuring TAG_FOCAL_PLANE_X_RESOLUTION and TAG_FOCAL_PLANE_Y_RESOLUTION.

const String!
TAG_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution"

Indicates the number of pixels in the image width (X) direction per TAG_FOCAL_PLANE_RESOLUTION_UNIT on the camera focal plane.

const String!
TAG_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution"

Indicates the number of pixels in the image height (Y) direction per TAG_FOCAL_PLANE_RESOLUTION_UNIT on the camera focal plane.

const String!
TAG_F_NUMBER = "FNumber"

The F number.

const String!
TAG_GAIN_CONTROL = "GainControl"

This tag indicates the degree of overall image gain adjustment.

const String!
TAG_GAMMA = "Gamma"

Indicates the value of coefficient gamma.

const String!
TAG_GPS_ALTITUDE = "GPSAltitude"

Indicates the altitude based on the reference in TAG_GPS_ALTITUDE_REF.

const String!
TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef"

Indicates the altitude used as the reference altitude.

const String!
TAG_GPS_AREA_INFORMATION = "GPSAreaInformation"

A character string recording the name of the GPS area.

const String!
TAG_GPS_DATESTAMP = "GPSDateStamp"

A character string recording date and time information relative to UTC (Coordinated Universal Time).

const String!
TAG_GPS_DEST_BEARING = "GPSDestBearing"

Indicates the bearing to the destination point.

const String!
TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef"

Indicates the reference used for giving the bearing to the destination point.

const String!
TAG_GPS_DEST_DISTANCE = "GPSDestDistance"

Indicates the distance to the destination point.

const String!
TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef"

Indicates the unit used to express the distance to the destination point.

const String!
TAG_GPS_DEST_LATITUDE = "GPSDestLatitude"

Indicates the latitude of the destination point.

const String!
TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef"

Indicates whether the latitude of the destination point is north or south latitude.

const String!
TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude"

Indicates the longitude of the destination point.

const String!
TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef"

Indicates whether the longitude of the destination point is east or west longitude.

const String!
TAG_GPS_DIFFERENTIAL = "GPSDifferential"

Indicates whether differential correction is applied to the GPS receiver.

const String!
TAG_GPS_DOP = "GPSDOP"

Indicates the GPS DOP (data degree of precision).

const String!
TAG_GPS_H_POSITIONING_ERROR = "GPSHPositioningError"

This tag indicates horizontal positioning errors in meters.

const String!
TAG_GPS_IMG_DIRECTION = "GPSImgDirection"

ndicates the direction of the image when it was captured.

const String!
TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef"

Indicates the reference for giving the direction of the image when it is captured.

const String!
TAG_GPS_LATITUDE = "GPSLatitude"

Indicates the latitude.

const String!
TAG_GPS_LATITUDE_REF = "GPSLatitudeRef"

Indicates whether the latitude is north or south latitude.

const String!
TAG_GPS_LONGITUDE = "GPSLongitude"

Indicates the longitude.

const String!
TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef"

Indicates whether the longitude is east or west longitude.

const String!
TAG_GPS_MAP_DATUM = "GPSMapDatum"

Indicates the geodetic survey data used by the GPS receiver.

const String!
TAG_GPS_MEASURE_MODE = "GPSMeasureMode"

Indicates the GPS measurement mode.

const String!
TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod"

A character string recording the name of the method used for location finding.

const String!
TAG_GPS_SATELLITES = "GPSSatellites"

Indicates the GPS satellites used for measurements.

const String!
TAG_GPS_SPEED = "GPSSpeed"

Indicates the speed of GPS receiver movement.

const String!
TAG_GPS_SPEED_REF = "GPSSpeedRef"

Indicates the unit used to express the GPS receiver speed of movement.

const String!
TAG_GPS_STATUS = "GPSStatus"

Indicates the status of the GPS receiver when the image is recorded. 'A' means measurement is in progress, and 'V' means the measurement is interrupted.

const String!
TAG_GPS_TIMESTAMP = "GPSTimeStamp"

Indicates the time as UTC (Coordinated Universal Time).

const String!
TAG_GPS_TRACK = "GPSTrack"

Indicates the direction of GPS receiver movement.

const String!
TAG_GPS_TRACK_REF = "GPSTrackRef"

Indicates the reference for giving the direction of GPS receiver movement.

const String!
TAG_GPS_VERSION_ID = "GPSVersionID"

Indicates the version of GPS Info IFD.

const String!
TAG_IMAGE_DESCRIPTION = "ImageDescription"

An ASCII string giving the title of the image.

const String!
TAG_IMAGE_LENGTH = "ImageLength"

The number of rows of image data.

const String!
TAG_IMAGE_UNIQUE_ID = "ImageUniqueID"

This tag indicates an identifier assigned uniquely to each image.

const String!
TAG_IMAGE_WIDTH = "ImageWidth"

The number of columns of image data, equal to the number of pixels per row.

const String!
TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex"

Indicates the identification of the Interoperability rule.

const String!
TAG_ISO_SPEED = "ISOSpeed"

This tag indicates the ISO speed value of a camera or input device that is defined in ISO 12232.

const String!
TAG_ISO_SPEED_LATITUDE_YYY = "ISOSpeedLatitudeyyy"

This tag indicates the ISO speed latitude yyy value of a camera or input device that is defined in ISO 12232.

const String!
TAG_ISO_SPEED_LATITUDE_ZZZ = "ISOSpeedLatitudezzz"

This tag indicates the ISO speed latitude zzz value of a camera or input device that is defined in ISO 12232.

const String!
TAG_ISO_SPEED_RATINGS = "ISOSpeedRatings"

This property is deprecated.

Use TAG_PHOTOGRAPHIC_SENSITIVITY instead.

const String!
TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat"

The offset to the start byte (SOI) of JPEG compressed thumbnail data.

const String!
TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength"

The number of bytes of JPEG compressed thumbnail data.

const String!
TAG_LENS_MAKE = "LensMake"

This tag records the lens manufacturer as an ASCII string.

const String!
TAG_LENS_MODEL = "LensModel"

This tag records the lens’s model name and model number as an ASCII string.

const String!
TAG_LENS_SERIAL_NUMBER = "LensSerialNumber"

This tag records the serial number of the interchangeable lens that was used in photography as an ASCII string.

const String!
TAG_LENS_SPECIFICATION = "LensSpecification"

This tag notes minimum focal length, maximum focal length, minimum F number in the minimum focal length, and minimum F number in the maximum focal length, which are specification information for the lens that was used in photography.

const String!
TAG_LIGHT_SOURCE = "LightSource"

The kind of light source.

const String!
TAG_MAKE = "Make"

The manufacturer of the recording equipment.

const String!
TAG_MAKER_NOTE = "MakerNote"

A tag for manufacturers of Exif/DCF writers to record any desired information.

const String!
TAG_MAX_APERTURE_VALUE = "MaxApertureValue"

The smallest F number of the lens.

const String!
TAG_METERING_MODE = "MeteringMode"

The metering mode.

const String!
TAG_MODEL = "Model"

The model name or model number of the equipment.

const String!
TAG_NEW_SUBFILE_TYPE = "NewSubfileType"

Type is int.

const String!
TAG_OECF = "OECF"

Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.

const String!
TAG_OFFSET_TIME = "OffsetTime"

A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag.

const String!
TAG_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized"

A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag.

const String!
TAG_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal"

A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag.

const String!
TAG_ORF_ASPECT_FRAME = "AspectFrame"

Type is int.

const String!
TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength"

Type is int.

const String!
TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart"

Type is int.

const String!
TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage"

Type is undefined.

const String!
TAG_ORIENTATION = "Orientation"

The image orientation viewed in terms of rows and columns.

const String!
TAG_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity"

This tag indicates the sensitivity of the camera or input device when the image was shot.

const String!
TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation"

The pixel composition.

const String!
TAG_PIXEL_X_DIMENSION = "PixelXDimension"

Information specific to compressed data.

const String!
TAG_PIXEL_Y_DIMENSION = "PixelYDimension"

Information specific to compressed data.

const String!
TAG_PLANAR_CONFIGURATION = "PlanarConfiguration"

Indicates whether pixel components are recorded in chunky or planar format.

const String!
TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities"

The chromaticity of the three primary colors of the image.

const String!
TAG_RECOMMENDED_EXPOSURE_INDEX = "RecommendedExposureIndex"

This tag indicates the recommended exposure index value of a camera or input device defined in ISO 12232.

const String!
TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite"

The reference black point value and reference white point value.

const String!
TAG_RELATED_SOUND_FILE = "RelatedSoundFile"

This tag is used to record the name of an audio file related to the image data.

const String!
TAG_RESOLUTION_UNIT = "ResolutionUnit"

The unit for measuring TAG_X_RESOLUTION and TAG_Y_RESOLUTION.

const String!
TAG_ROWS_PER_STRIP = "RowsPerStrip"

The number of rows per strip.

const String!
TAG_RW2_ISO = "ISO"

Type is int.

const String!
TAG_RW2_JPG_FROM_RAW = "JpgFromRaw"

Type is undefined.

const String!
TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder"

Type is int.

const String!
TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder"

Type is int.

const String!
TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder"

Type is int.

const String!
TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder"

Type is int.

const String!
TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel"

The number of components per pixel.

const String!
TAG_SATURATION = "Saturation"

This tag indicates the direction of saturation processing applied by the camera when the image was shot.

const String!
TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType"

This tag indicates the type of scene that was shot.

const String!
TAG_SCENE_TYPE = "SceneType"

Indicates the type of scene.

const String!
TAG_SENSING_METHOD = "SensingMethod"

Indicates the image sensor type on the camera or input device.

const String!
TAG_SENSITIVITY_TYPE = "SensitivityType"

This tag indicates which one of the parameters of ISO12232 is TAG_PHOTOGRAPHIC_SENSITIVITY.

const String!
TAG_SHARPNESS = "Sharpness"

This tag indicates the direction of sharpness processing applied by the camera when the image was shot.

const String!
TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue"

Shutter speed.

const String!
TAG_SOFTWARE = "Software"

This tag records the name and version of the software or firmware of the camera or image input device used to generate the image.

const String!
TAG_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse"

This tag records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233.

const String!
TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity"

Indicates the spectral sensitivity of each channel of the camera used.

const String!
TAG_STANDARD_OUTPUT_SENSITIVITY = "StandardOutputSensitivity"

This tag indicates the standard output sensitivity value of a camera or input device defined in ISO 12232.

const String!
TAG_STRIP_BYTE_COUNTS = "StripByteCounts"

The total number of bytes in each strip.

const String!
TAG_STRIP_OFFSETS = "StripOffsets"

For each strip, the byte offset of that strip.

const String!
TAG_SUBFILE_TYPE = "SubfileType"

Type is int.

const String!
TAG_SUBJECT_AREA = "SubjectArea"

This tag indicates the location and area of the main subject in the overall scene.

const String!
TAG_SUBJECT_DISTANCE = "SubjectDistance"

The distance to the subject, given in meters.

const String!
TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange"

This tag indicates the distance to the subject.

const String!
TAG_SUBJECT_LOCATION = "SubjectLocation"

Indicates the location of the main subject in the scene.

const String!
TAG_SUBSEC_TIME = "SubSecTime"

A tag used to record fractions of seconds for TAG_DATETIME.

const String!
TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized"

A tag used to record fractions of seconds for TAG_DATETIME_DIGITIZED.

const String!
TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal"

A tag used to record fractions of seconds for TAG_DATETIME_ORIGINAL.

const String!
TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength"
const String!
TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth"
const String!
TAG_TRANSFER_FUNCTION = "TransferFunction"

A transfer function for the image, described in tabular style.

const String!
TAG_USER_COMMENT = "UserComment"

A tag for Exif users to write keywords or comments on the image besides those in TAG_IMAGE_DESCRIPTION, and without the character code limitations of it.

const String!
TAG_WHITE_BALANCE = "WhiteBalance"

This tag indicates the white balance mode set when the image was shot.

const String!
TAG_WHITE_POINT = "WhitePoint"

The chromaticity of the white point of the image.

const String!
TAG_XMP = "Xmp"

Type is byte[].

const String!
TAG_X_RESOLUTION = "XResolution"

The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction.

const String!
TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients"

The matrix coefficients for transformation from RGB to YCbCr image data.

const String!
TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning"

The position of chrominance components in relation to the luminance component.

const String!
TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling"

The sampling ratio of chrominance components in relation to the luminance component.

const String!
TAG_Y_RESOLUTION = "YResolution"

The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction.

const Int

This property is deprecated.

Use WHITE_BALANCE_AUTO instead.

const Int

This property is deprecated.

Use WHITE_BALANCE_MANUAL instead.

const Short

The constant used by TAG_WHITE_BALANCE to denote the white balance is Auto.

const Short

The constant used by TAG_WHITE_BALANCE to denote the white balance is Manual.

const Short

The constant used by TAG_Y_CB_CR_POSITIONING to denote Centered positioning.

const Short

The constant used by TAG_Y_CB_CR_POSITIONING to denote Co-sited positioning.

Public constructors

ExifInterface(fileDescriptor: FileDescriptor)

Reads Exif tags from the specified image file descriptor.

Reads Exif tags from the specified image file.

ExifInterface(filename: String)

Reads Exif tags from the specified image file.

ExifInterface(inputStream: InputStream)

Reads Exif tags from the specified image input stream.

ExifInterface(inputStream: InputStream, streamType: Int)

Reads Exif tags from the specified image input stream based on the stream type.

Public functions

Unit

Flips the image horizontally.

Unit

Flips the image vertically.

Double
getAltitude(defaultValue: Double)

Return the altitude in meters.

String?

Returns the value of the specified tag or null if there is no such tag in the image file.

ByteArray<Byte>?

Returns the raw bytes for the value of the requested tag inside the image file, or null if the tag is not contained.

Double
getAttributeDouble(tag: String, defaultValue: Double)

Returns the double value of the tag that is specified as rational or contains a double-formatted value.

Int
getAttributeInt(tag: String, defaultValue: Int)

Returns the integer value of the specified tag.

LongArray<Long>?

Returns the offset and length of the requested tag inside the image file, or null if the tag is not contained.

Long?

Returns number of milliseconds since 1970-01-01 00:00:00 UTC.

DoubleArray<Double>?

Gets the latitude and longitude values.

Boolean

This function is deprecated.

Use getLatLong instead.

Int

Returns the rotation degrees for the current image orientation.

ByteArray<Byte>?

Returns the JPEG compressed thumbnail inside the image file, or null if there is no JPEG compressed thumbnail.

Bitmap?

Creates and returns a Bitmap object of the thumbnail image based on the byte array and the thumbnail compression value, or null if the compression type is unsupported.

ByteArray<Byte>?

Returns the thumbnail bytes inside the image file, regardless of the compression type of the thumbnail image.

LongArray<Long>?

Returns the offset and length of thumbnail inside the image file, or null if either there is no thumbnail or the thumbnail bytes are stored non-consecutively.

Boolean

Returns true if the image file has the given attribute defined.

Boolean

Returns true if the image file has a thumbnail.

Boolean

Returns if the current image orientation is flipped.

java-static Boolean

Returns whether ExifInterface currently supports reading data from the specified mime type or not.

Boolean

Returns true if thumbnail image is JPEG Compressed, or false if either thumbnail image does not exist or thumbnail image is uncompressed.

Unit

Resets the TAG_ORIENTATION of the image to be ORIENTATION_NORMAL.

Unit
rotate(degree: Int)

Rotates the image by the given degree clockwise.

Unit

Save the tag data into the original image file.

Unit
setAltitude(altitude: Double)

Sets the altitude in meters.

Unit
setAttribute(tag: String, value: String?)

Sets the value of the specified tag.

Unit
setGpsInfo(location: Location?)

Sets the GPS-related information.

Unit
setLatLong(latitude: Double, longitude: Double)

Sets the latitude and longitude values.

Constants

ALTITUDE_ABOVE_SEA_LEVEL

Added in 1.0.0
const val ALTITUDE_ABOVE_SEA_LEVEL = 0: Short

The constant used by TAG_GPS_ALTITUDE_REF to denote the altitude is above sea level.

ALTITUDE_BELOW_SEA_LEVEL

Added in 1.0.0
const val ALTITUDE_BELOW_SEA_LEVEL = 1: Short

The constant used by TAG_GPS_ALTITUDE_REF to denote the altitude is below sea level.

BITS_PER_SAMPLE_GREYSCALE_1

Added in 1.0.0
const val BITS_PER_SAMPLE_GREYSCALE_1IntArray<Int>!

The constant used by TAG_BITS_PER_SAMPLE. See JEITA CP-3451C Spec Section 4, Differences from Bilevel Images

BITS_PER_SAMPLE_GREYSCALE_2

Added in 1.0.0
const val BITS_PER_SAMPLE_GREYSCALE_2IntArray<Int>!

The constant used by TAG_BITS_PER_SAMPLE. See JEITA CP-3451C Spec Section 4, Differences from Bilevel Images

BITS_PER_SAMPLE_RGB

Added in 1.0.0
const val BITS_PER_SAMPLE_RGBIntArray<Int>!

The constant used by TAG_BITS_PER_SAMPLE. See JEITA CP-3451C Spec Section 6, Differences from Palette Color Images

COLOR_SPACE_S_RGB

Added in 1.0.0
const val COLOR_SPACE_S_RGB = 1: Int

The constant used by TAG_COLOR_SPACE to denote sRGB color space.

COLOR_SPACE_UNCALIBRATED

Added in 1.0.0
const val COLOR_SPACE_UNCALIBRATED = 65535: Int

The constant used by TAG_COLOR_SPACE to denote Uncalibrated.

CONTRAST_HARD

Added in 1.0.0
const val CONTRAST_HARD = 2: Short

The constant used by TAG_CONTRAST to denote hard contrast.

CONTRAST_NORMAL

Added in 1.0.0
const val CONTRAST_NORMAL = 0: Short

The constant used by TAG_CONTRAST to denote normal contrast.

CONTRAST_SOFT

Added in 1.0.0
const val CONTRAST_SOFT = 1: Short

The constant used by TAG_CONTRAST to denote soft contrast.

DATA_DEFLATE_ZIP

Added in 1.0.0
const val DATA_DEFLATE_ZIP = 8: Int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0. Section 3, Compression

DATA_HUFFMAN_COMPRESSED

Added in 1.0.0
const val DATA_HUFFMAN_COMPRESSED = 2: Int

The constant used by TAG_COMPRESSION to denote the image is huffman compressed.

DATA_JPEG

Added in 1.0.0
const val DATA_JPEG = 6: Int

The constant used by TAG_COMPRESSION to denote the image is JPEG.

DATA_JPEG_COMPRESSED

Added in 1.0.0
const val DATA_JPEG_COMPRESSED = 7: Int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0. Section 3, Compression

DATA_LOSSY_JPEG

Added in 1.0.0
const val DATA_LOSSY_JPEG = 34892: Int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0. Section 3, Compression

DATA_PACK_BITS_COMPRESSED

Added in 1.0.0
const val DATA_PACK_BITS_COMPRESSED = 32773: Int

The constant used by TAG_COMPRESSION to denote the image is pack-bits compressed.

DATA_UNCOMPRESSED

Added in 1.0.0
const val DATA_UNCOMPRESSED = 1: Int

The constant used by TAG_COMPRESSION to denote the image is not compressed.

EXPOSURE_MODE_AUTO

Added in 1.0.0
const val EXPOSURE_MODE_AUTO = 0: Short

The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Auto.

EXPOSURE_MODE_AUTO_BRACKET

Added in 1.0.0
const val EXPOSURE_MODE_AUTO_BRACKET = 2: Short

The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Auto bracket.

EXPOSURE_MODE_MANUAL

Added in 1.0.0
const val EXPOSURE_MODE_MANUAL = 1: Short

The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Manual.

EXPOSURE_PROGRAM_ACTION

Added in 1.0.0
const val EXPOSURE_PROGRAM_ACTION = 6: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Action program (biased toward fast shutter speed).

EXPOSURE_PROGRAM_APERTURE_PRIORITY

Added in 1.0.0
const val EXPOSURE_PROGRAM_APERTURE_PRIORITY = 3: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Aperture priority.

EXPOSURE_PROGRAM_CREATIVE

Added in 1.0.0
const val EXPOSURE_PROGRAM_CREATIVE = 5: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Creative program (biased toward depth of field).

EXPOSURE_PROGRAM_LANDSCAPE_MODE

Added in 1.0.0
const val EXPOSURE_PROGRAM_LANDSCAPE_MODE = 8: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Landscape mode (for landscape photos with the background in focus).

EXPOSURE_PROGRAM_MANUAL

Added in 1.0.0
const val EXPOSURE_PROGRAM_MANUAL = 1: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Manual.

EXPOSURE_PROGRAM_NORMAL

Added in 1.0.0
const val EXPOSURE_PROGRAM_NORMAL = 2: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Normal.

EXPOSURE_PROGRAM_NOT_DEFINED

Added in 1.0.0
const val EXPOSURE_PROGRAM_NOT_DEFINED = 0: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is not defined.

EXPOSURE_PROGRAM_PORTRAIT_MODE

Added in 1.0.0
const val EXPOSURE_PROGRAM_PORTRAIT_MODE = 7: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Portrait mode (for closeup photos with the background out of focus).

EXPOSURE_PROGRAM_SHUTTER_PRIORITY

Added in 1.0.0
const val EXPOSURE_PROGRAM_SHUTTER_PRIORITY = 4: Short

The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Shutter priority.

FILE_SOURCE_DSC

Added in 1.0.0
const val FILE_SOURCE_DSC = 3: Short

The constant used by TAG_FILE_SOURCE to denote the source is DSC.

FILE_SOURCE_OTHER

Added in 1.0.0
const val FILE_SOURCE_OTHER = 0: Short

The constant used by TAG_FILE_SOURCE to denote the source is other.

FILE_SOURCE_REFLEX_SCANNER

Added in 1.0.0
const val FILE_SOURCE_REFLEX_SCANNER = 2: Short

The constant used by TAG_FILE_SOURCE to denote the source is scanner of reflex type.

FILE_SOURCE_TRANSPARENT_SCANNER

Added in 1.0.0
const val FILE_SOURCE_TRANSPARENT_SCANNER = 1: Short

The constant used by TAG_FILE_SOURCE to denote the source is scanner of transparent type.

FLAG_FLASH_FIRED

Added in 1.0.0
const val FLAG_FLASH_FIRED = 1: Short

The flag used by TAG_FLASH to indicate whether the flash is fired.

FLAG_FLASH_MODE_AUTO

Added in 1.0.0
const val FLAG_FLASH_MODE_AUTO = 24: Short

The flag used by TAG_FLASH to indicate the camera's flash mode is Auto.

FLAG_FLASH_MODE_COMPULSORY_FIRING

Added in 1.0.0
const val FLAG_FLASH_MODE_COMPULSORY_FIRING = 8: Short

The flag used by TAG_FLASH to indicate the camera's flash mode is Compulsory flash firing.

FLAG_FLASH_MODE_COMPULSORY_SUPPRESSION

Added in 1.0.0
const val FLAG_FLASH_MODE_COMPULSORY_SUPPRESSION = 16: Short

The flag used by TAG_FLASH to indicate the camera's flash mode is Compulsory flash suppression.

FLAG_FLASH_NO_FLASH_FUNCTION

Added in 1.0.0
const val FLAG_FLASH_NO_FLASH_FUNCTION = 32: Short

The flag used by TAG_FLASH to indicate no flash function is present.

FLAG_FLASH_RED_EYE_SUPPORTED

Added in 1.0.0
const val FLAG_FLASH_RED_EYE_SUPPORTED = 64: Short

The flag used by TAG_FLASH to indicate red-eye reduction is supported.

FLAG_FLASH_RETURN_LIGHT_DETECTED

Added in 1.0.0
const val FLAG_FLASH_RETURN_LIGHT_DETECTED = 6: Short

The flag used by TAG_FLASH to indicate strobe return light is detected.

FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED

Added in 1.0.0
const val FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED = 4: Short

The flag used by TAG_FLASH to indicate strobe return light is not detected.

FORMAT_CHUNKY

Added in 1.0.0
const val FORMAT_CHUNKY = 1: Short

The constant used by TAG_PLANAR_CONFIGURATION to denote Chunky format.

FORMAT_PLANAR

Added in 1.0.0
const val FORMAT_PLANAR = 2: Short

The constant used by TAG_PLANAR_CONFIGURATION to denote Planar format.

GAIN_CONTROL_HIGH_GAIN_DOWN

Added in 1.0.0
const val GAIN_CONTROL_HIGH_GAIN_DOWN = 4: Short

The constant used by TAG_GAIN_CONTROL to denote high gain down.

GAIN_CONTROL_HIGH_GAIN_UP

Added in 1.0.0
const val GAIN_CONTROL_HIGH_GAIN_UP = 2: Short

The constant used by TAG_GAIN_CONTROL to denote high gain up.

GAIN_CONTROL_LOW_GAIN_DOWN

Added in 1.0.0
const val GAIN_CONTROL_LOW_GAIN_DOWN = 3: Short

The constant used by TAG_GAIN_CONTROL to denote low gain down.

GAIN_CONTROL_LOW_GAIN_UP

Added in 1.0.0
const val GAIN_CONTROL_LOW_GAIN_UP = 1: Short

The constant used by TAG_GAIN_CONTROL to denote low gain up.

GAIN_CONTROL_NONE

Added in 1.0.0
const val GAIN_CONTROL_NONE = 0: Short

The constant used by TAG_GAIN_CONTROL to denote none gain adjustment.

GPS_DIRECTION_MAGNETIC

Added in 1.0.0
const val GPS_DIRECTION_MAGNETIC = "M": String!

The constant used by GPS attributes to denote the direction is magnetic direction.

GPS_DIRECTION_TRUE

Added in 1.0.0
const val GPS_DIRECTION_TRUE = "T": String!

The constant used by GPS attributes to denote the direction is true direction.

GPS_DISTANCE_KILOMETERS

Added in 1.0.0
const val GPS_DISTANCE_KILOMETERS = "K": String!

The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is kilometers.

GPS_DISTANCE_MILES

Added in 1.0.0
const val GPS_DISTANCE_MILES = "M": String!

The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is miles.

GPS_DISTANCE_NAUTICAL_MILES

Added in 1.0.0
const val GPS_DISTANCE_NAUTICAL_MILES = "N": String!

The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is nautical miles.

GPS_MEASUREMENT_2D

Added in 1.0.0
const val GPS_MEASUREMENT_2D = "2": String!

The constant used by TAG_GPS_MEASURE_MODE to denote GPS measurement is 2-dimensional.

GPS_MEASUREMENT_3D

Added in 1.0.0
const val GPS_MEASUREMENT_3D = "3": String!

The constant used by TAG_GPS_MEASURE_MODE to denote GPS measurement is 3-dimensional.

GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED

Added in 1.0.0
const val GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED = 1: Short

The constant used by TAG_GPS_DIFFERENTIAL to denote differential correction is applied.

GPS_MEASUREMENT_INTERRUPTED

Added in 1.0.0
const val GPS_MEASUREMENT_INTERRUPTED = "V": String!

The constant used by TAG_GPS_STATUS to denote GPS measurement is interrupted.

GPS_MEASUREMENT_IN_PROGRESS

Added in 1.0.0
const val GPS_MEASUREMENT_IN_PROGRESS = "A": String!

The constant used by TAG_GPS_STATUS to denote GPS measurement is in progress.

GPS_MEASUREMENT_NO_DIFFERENTIAL

Added in 1.0.0
const val GPS_MEASUREMENT_NO_DIFFERENTIAL = 0: Short

The constant used by TAG_GPS_DIFFERENTIAL to denote no differential correction is applied.

GPS_SPEED_KILOMETERS_PER_HOUR

Added in 1.0.0
const val GPS_SPEED_KILOMETERS_PER_HOUR = "K": String!

The constant used by TAG_GPS_SPEED_REF to denote the speed unit is kilometers per hour.

GPS_SPEED_KNOTS

Added in 1.0.0
const val GPS_SPEED_KNOTS = "N": String!

The constant used by TAG_GPS_SPEED_REF to denote the speed unit is knots.

GPS_SPEED_MILES_PER_HOUR

Added in 1.0.0
const val GPS_SPEED_MILES_PER_HOUR = "M": String!

The constant used by TAG_GPS_SPEED_REF to denote the speed unit is miles per hour.

LATITUDE_NORTH

Added in 1.0.0
const val LATITUDE_NORTH = "N": String!

The constant used by GPS latitude-related tags to denote the latitude is North latitude.

LATITUDE_SOUTH

Added in 1.0.0
const val LATITUDE_SOUTH = "S": String!

The constant used by GPS latitude-related tags to denote the latitude is South latitude.

LIGHT_SOURCE_CLOUDY_WEATHER

Added in 1.0.0
const val LIGHT_SOURCE_CLOUDY_WEATHER = 10: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Cloudy weather.

LIGHT_SOURCE_COOL_WHITE_FLUORESCENT

Added in 1.0.0
const val LIGHT_SOURCE_COOL_WHITE_FLUORESCENT = 14: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Cool white fluorescent (W 3800 - 4500K).

LIGHT_SOURCE_D50

Added in 1.0.0
const val LIGHT_SOURCE_D50 = 23: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D50.

LIGHT_SOURCE_D55

Added in 1.0.0
const val LIGHT_SOURCE_D55 = 20: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D55.

LIGHT_SOURCE_D65

Added in 1.0.0
const val LIGHT_SOURCE_D65 = 21: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D65.

LIGHT_SOURCE_D75

Added in 1.0.0
const val LIGHT_SOURCE_D75 = 22: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is D75.

LIGHT_SOURCE_DAYLIGHT

Added in 1.0.0
const val LIGHT_SOURCE_DAYLIGHT = 1: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Daylight.

LIGHT_SOURCE_DAYLIGHT_FLUORESCENT

Added in 1.0.0
const val LIGHT_SOURCE_DAYLIGHT_FLUORESCENT = 12: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Daylight fluorescent (D 5700 - 7100K).

LIGHT_SOURCE_DAY_WHITE_FLUORESCENT

Added in 1.0.0
const val LIGHT_SOURCE_DAY_WHITE_FLUORESCENT = 13: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Day white fluorescent (N 4600 - 5500K).

LIGHT_SOURCE_FINE_WEATHER

Added in 1.0.0
const val LIGHT_SOURCE_FINE_WEATHER = 9: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Fine weather.

LIGHT_SOURCE_FLASH

Added in 1.0.0
const val LIGHT_SOURCE_FLASH = 4: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Flash.

LIGHT_SOURCE_FLUORESCENT

Added in 1.0.0
const val LIGHT_SOURCE_FLUORESCENT = 2: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Fluorescent.

LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN

Added in 1.0.0
const val LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN = 24: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is ISO studio tungsten.

LIGHT_SOURCE_OTHER

Added in 1.0.0
const val LIGHT_SOURCE_OTHER = 255: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is other.

LIGHT_SOURCE_SHADE

Added in 1.0.0
const val LIGHT_SOURCE_SHADE = 11: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Shade.

LIGHT_SOURCE_STANDARD_LIGHT_A

Added in 1.0.0
const val LIGHT_SOURCE_STANDARD_LIGHT_A = 17: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light A.

LIGHT_SOURCE_STANDARD_LIGHT_B

Added in 1.0.0
const val LIGHT_SOURCE_STANDARD_LIGHT_B = 18: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light B.

LIGHT_SOURCE_STANDARD_LIGHT_C

Added in 1.0.0
const val LIGHT_SOURCE_STANDARD_LIGHT_C = 19: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light C.

LIGHT_SOURCE_TUNGSTEN

Added in 1.0.0
const val LIGHT_SOURCE_TUNGSTEN = 3: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Tungsten (incandescent light).

LIGHT_SOURCE_UNKNOWN

Added in 1.0.0
const val LIGHT_SOURCE_UNKNOWN = 0: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is unknown.

LIGHT_SOURCE_WARM_WHITE_FLUORESCENT

Added in 1.0.0
const val LIGHT_SOURCE_WARM_WHITE_FLUORESCENT = 16: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is Warm white fluorescent (L 2600 - 3250K).

LIGHT_SOURCE_WHITE_FLUORESCENT

Added in 1.0.0
const val LIGHT_SOURCE_WHITE_FLUORESCENT = 15: Short

The constant used by TAG_LIGHT_SOURCE to denote light source is White fluorescent (WW 3250 - 3800K).

LONGITUDE_EAST

Added in 1.0.0
const val LONGITUDE_EAST = "E": String!

The constant used by GPS longitude-related tags to denote the longitude is East longitude.

LONGITUDE_WEST

Added in 1.0.0
const val LONGITUDE_WEST = "W": String!

The constant used by GPS longitude-related tags to denote the longitude is West longitude.

METERING_MODE_AVERAGE

Added in 1.0.0
const val METERING_MODE_AVERAGE = 1: Short

The constant used by TAG_METERING_MODE to denote metering mode is Average.

METERING_MODE_CENTER_WEIGHT_AVERAGE

Added in 1.0.0
const val METERING_MODE_CENTER_WEIGHT_AVERAGE = 2: Short

The constant used by TAG_METERING_MODE to denote metering mode is CenterWeightedAverage.

METERING_MODE_MULTI_SPOT

Added in 1.0.0
const val METERING_MODE_MULTI_SPOT = 4: Short

The constant used by TAG_METERING_MODE to denote metering mode is MultiSpot.

METERING_MODE_OTHER

Added in 1.0.0
const val METERING_MODE_OTHER = 255: Short

The constant used by TAG_METERING_MODE to denote metering mode is other.

METERING_MODE_PARTIAL

Added in 1.0.0
const val METERING_MODE_PARTIAL = 6: Short

The constant used by TAG_METERING_MODE to denote metering mode is Partial.

METERING_MODE_PATTERN

Added in 1.0.0
const val METERING_MODE_PATTERN = 5: Short

The constant used by TAG_METERING_MODE to denote metering mode is Pattern.

METERING_MODE_SPOT

Added in 1.0.0
const val METERING_MODE_SPOT = 3: Short

The constant used by TAG_METERING_MODE to denote metering mode is Spot.

METERING_MODE_UNKNOWN

Added in 1.0.0
const val METERING_MODE_UNKNOWN = 0: Short

The constant used by TAG_METERING_MODE to denote metering mode is unknown.

ORIENTATION_FLIP_HORIZONTAL

Added in 1.0.0
const val ORIENTATION_FLIP_HORIZONTAL = 2: Int

Indicates the image is left right reversed mirror.

ORIENTATION_FLIP_VERTICAL

Added in 1.0.0
const val ORIENTATION_FLIP_VERTICAL = 4: Int

Indicates the image is upside down mirror, it can also be represented by flip horizontally firstly and rotate 180 degree clockwise.

ORIENTATION_NORMAL

Added in 1.0.0
const val ORIENTATION_NORMAL = 1: Int

ORIENTATION_ROTATE_180

Added in 1.0.0
const val ORIENTATION_ROTATE_180 = 3: Int

Indicates the image is rotated by 180 degree clockwise.

ORIENTATION_ROTATE_270

Added in 1.0.0
const val ORIENTATION_ROTATE_270 = 8: Int

Indicates the image is rotated by 270 degree clockwise.

ORIENTATION_ROTATE_90

Added in 1.0.0
const val ORIENTATION_ROTATE_90 = 6: Int

Indicates the image is rotated by 90 degree clockwise.

ORIENTATION_TRANSPOSE

Added in 1.0.0
const val ORIENTATION_TRANSPOSE = 5: Int

Indicates the image is flipped about top-left <--> bottom-right axis, it can also be represented by flip horizontally firstly and rotate 270 degree clockwise.

ORIENTATION_TRANSVERSE

Added in 1.0.0
const val ORIENTATION_TRANSVERSE = 7: Int

Indicates the image is flipped about top-right <--> bottom-left axis, it can also be represented by flip horizontally firstly and rotate 90 degree clockwise.

ORIENTATION_UNDEFINED

Added in 1.0.0
const val ORIENTATION_UNDEFINED = 0: Int

ORIGINAL_RESOLUTION_IMAGE

Added in 1.0.0
const val ORIGINAL_RESOLUTION_IMAGE = 0: Int

The constant used by TAG_NEW_SUBFILE_TYPE. See JEITA CP-3451C Spec Section 8.

PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO

Added in 1.0.0
const val PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1: Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

PHOTOMETRIC_INTERPRETATION_RGB

Added in 1.0.0
const val PHOTOMETRIC_INTERPRETATION_RGB = 2: Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO

Added in 1.0.0
const val PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0: Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

PHOTOMETRIC_INTERPRETATION_YCBCR

Added in 1.0.0
const val PHOTOMETRIC_INTERPRETATION_YCBCR = 6: Int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

REDUCED_RESOLUTION_IMAGE

Added in 1.0.0
const val REDUCED_RESOLUTION_IMAGE = 1: Int

The constant used by TAG_NEW_SUBFILE_TYPE. See JEITA CP-3451C Spec Section 8.

RENDERED_PROCESS_CUSTOM

Added in 1.0.0
const val RENDERED_PROCESS_CUSTOM = 1: Short

The constant used by TAG_CUSTOM_RENDERED to denote special processing is used.

RENDERED_PROCESS_NORMAL

Added in 1.0.0
const val RENDERED_PROCESS_NORMAL = 0: Short

The constant used by TAG_CUSTOM_RENDERED to denote no special processing is used.

RESOLUTION_UNIT_CENTIMETERS

Added in 1.0.0
const val RESOLUTION_UNIT_CENTIMETERS = 3: Short

The constant used to denote resolution unit as centimeters.

RESOLUTION_UNIT_INCHES

Added in 1.0.0
const val RESOLUTION_UNIT_INCHES = 2: Short

The constant used to denote resolution unit as inches.

SATURATION_HIGH

Added in 1.0.0
const val SATURATION_HIGH = 0: Short

The constant used by TAG_SHARPNESS to denote high saturation.

SATURATION_LOW

Added in 1.0.0
const val SATURATION_LOW = 0: Short

The constant used by TAG_SATURATION to denote low saturation.

SATURATION_NORMAL

Added in 1.0.0
const val SATURATION_NORMAL = 0: Short

The constant used by TAG_SATURATION to denote normal saturation.

SCENE_CAPTURE_TYPE_LANDSCAPE

Added in 1.0.0
const val SCENE_CAPTURE_TYPE_LANDSCAPE = 1: Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Landscape.

SCENE_CAPTURE_TYPE_NIGHT

Added in 1.0.0
const val SCENE_CAPTURE_TYPE_NIGHT = 3: Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Night scene.

SCENE_CAPTURE_TYPE_PORTRAIT

Added in 1.0.0
const val SCENE_CAPTURE_TYPE_PORTRAIT = 2: Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Portrait.

SCENE_CAPTURE_TYPE_STANDARD

Added in 1.0.0
const val SCENE_CAPTURE_TYPE_STANDARD = 0: Short

The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Standard.

SCENE_TYPE_DIRECTLY_PHOTOGRAPHED

Added in 1.0.0
const val SCENE_TYPE_DIRECTLY_PHOTOGRAPHED = 1: Short

The constant used by TAG_SCENE_TYPE to denote the scene is directly photographed.

SENSITIVITY_TYPE_ISO_SPEED

Added in 1.0.0
const val SENSITIVITY_TYPE_ISO_SPEED = 3: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is ISO speed.

SENSITIVITY_TYPE_REI

Added in 1.0.0
const val SENSITIVITY_TYPE_REI = 2: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Recommended exposure index (REI).

SENSITIVITY_TYPE_REI_AND_ISO

Added in 1.0.0
const val SENSITIVITY_TYPE_REI_AND_ISO = 6: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Recommended exposure index (REI) and ISO speed.

SENSITIVITY_TYPE_SOS

Added in 1.0.0
const val SENSITIVITY_TYPE_SOS = 1: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS).

SENSITIVITY_TYPE_SOS_AND_ISO

Added in 1.0.0
const val SENSITIVITY_TYPE_SOS_AND_ISO = 5: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and ISO speed.

SENSITIVITY_TYPE_SOS_AND_REI

Added in 1.0.0
const val SENSITIVITY_TYPE_SOS_AND_REI = 4: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and recommended exposure index (REI).

SENSITIVITY_TYPE_SOS_AND_REI_AND_ISO

Added in 1.0.0
const val SENSITIVITY_TYPE_SOS_AND_REI_AND_ISO = 7: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and recommended exposure index (REI) and ISO speed.

SENSITIVITY_TYPE_UNKNOWN

Added in 1.0.0
const val SENSITIVITY_TYPE_UNKNOWN = 0: Short

The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is unknown.

SENSOR_TYPE_COLOR_SEQUENTIAL

Added in 1.0.0
const val SENSOR_TYPE_COLOR_SEQUENTIAL = 5: Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Color sequential area sensor.

SENSOR_TYPE_COLOR_SEQUENTIAL_LINEAR

Added in 1.0.0
const val SENSOR_TYPE_COLOR_SEQUENTIAL_LINEAR = 8: Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Color sequential linear sensor.

SENSOR_TYPE_NOT_DEFINED

Added in 1.0.0
const val SENSOR_TYPE_NOT_DEFINED = 1: Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is not defined.

SENSOR_TYPE_ONE_CHIP

Added in 1.0.0
const val SENSOR_TYPE_ONE_CHIP = 2: Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is One-chip color area sensor.

SENSOR_TYPE_THREE_CHIP

Added in 1.0.0
const val SENSOR_TYPE_THREE_CHIP = 4: Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Three-chip color area sensor.

SENSOR_TYPE_TRILINEAR

Added in 1.0.0
const val SENSOR_TYPE_TRILINEAR = 7: Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Trilinear sensor.

SENSOR_TYPE_TWO_CHIP

Added in 1.0.0
const val SENSOR_TYPE_TWO_CHIP = 3: Short

The constant used by TAG_SENSING_METHOD to denote the image sensor type is Two-chip color area sensor.

SHARPNESS_HARD

Added in 1.0.0
const val SHARPNESS_HARD = 2: Short

The constant used by TAG_SHARPNESS to denote hard sharpness.

SHARPNESS_NORMAL

Added in 1.0.0
const val SHARPNESS_NORMAL = 0: Short

The constant used by TAG_SHARPNESS to denote normal sharpness.

SHARPNESS_SOFT

Added in 1.0.0
const val SHARPNESS_SOFT = 1: Short

The constant used by TAG_SHARPNESS to denote soft sharpness.

STREAM_TYPE_EXIF_DATA_ONLY

Added in 1.2.0
const val STREAM_TYPE_EXIF_DATA_ONLY = 1: Int

Constant used to indicate that the input stream contains only Exif data.

The format of the Exif-only data must follow the below structure: Exif Identifier Code ("Exif\0\0") + TIFF header + IFD data See JEITA CP-3451C Section 4.5.2 and 4.5.4 specifications for more details.

STREAM_TYPE_FULL_IMAGE_DATA

Added in 1.2.0
const val STREAM_TYPE_FULL_IMAGE_DATA = 0: Int

Constant used to indicate that the input stream contains the full image data.

The format of the image data should follow one of the image formats supported by this class.

SUBJECT_DISTANCE_RANGE_CLOSE_VIEW

Added in 1.0.0
const val SUBJECT_DISTANCE_RANGE_CLOSE_VIEW = 2: Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Close view.

SUBJECT_DISTANCE_RANGE_DISTANT_VIEW

Added in 1.0.0
const val SUBJECT_DISTANCE_RANGE_DISTANT_VIEW = 3: Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Distant view.

SUBJECT_DISTANCE_RANGE_MACRO

Added in 1.0.0
const val SUBJECT_DISTANCE_RANGE_MACRO = 1: Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Macro.

SUBJECT_DISTANCE_RANGE_UNKNOWN

Added in 1.0.0
const val SUBJECT_DISTANCE_RANGE_UNKNOWN = 0: Short

The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is unknown.

TAG_APERTURE_VALUE

Added in 1.0.0
const val TAG_APERTURE_VALUE = "ApertureValue": String!

The lens aperture. The unit is the APEX value.

  • Tag = 37378
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_ARTIST

Added in 1.0.0
const val TAG_ARTIST = "Artist": String!

This tag records the name of the camera owner, photographer or image creator. The detailed format is not specified, but it is recommended that the information be written as in the example below for ease of Interoperability. When the field is left blank, it is treated as unknown.

Ex.) "Camera owner, John Smith; Photographer, Michael Brown; Image creator, Ken James"

  • Tag = 315
  • Type = String
  • Default = None

TAG_BITS_PER_SAMPLE

Added in 1.0.0
const val TAG_BITS_PER_SAMPLE = "BitsPerSample": String!

The number of bits per image component. In this standard each component of the image is 8 bits, so the value for this tag is 8. See also TAG_SAMPLES_PER_PIXEL. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.

TAG_BODY_SERIAL_NUMBER

Added in 1.0.0
const val TAG_BODY_SERIAL_NUMBER = "BodySerialNumber": String!

This tag records the serial number of the body of the camera that was used in photography as an ASCII string.

  • Tag = 42033
  • Type = String
  • Default = None

TAG_BRIGHTNESS_VALUE

Added in 1.0.0
const val TAG_BRIGHTNESS_VALUE = "BrightnessValue": String!

The value of brightness. The unit is the APEX value. Ordinarily it is given in the range of -99.99 to 99.99. Note that if the numerator of the recorded value is 0xFFFFFFFF, Unknown shall be indicated.

  • Tag = 37379
  • Type = Signed rational
  • Count = 1
  • Default = None

TAG_CAMARA_OWNER_NAME

Added in 1.0.0
Deprecated in 1.1.0
const val TAG_CAMARA_OWNER_NAME = "CameraOwnerName": String!

This tag records the owner of a camera used in photography as an ASCII string.

  • Tag = 42032
  • Type = String
  • Default = None

TAG_CAMERA_OWNER_NAME

Added in 1.1.0
const val TAG_CAMERA_OWNER_NAME = "CameraOwnerName": String!

This tag records the owner of a camera used in photography as an ASCII string.

  • Tag = 42032
  • Type = String
  • Default = None

TAG_CFA_PATTERN

Added in 1.0.0
const val TAG_CFA_PATTERN = "CFAPattern": String!

Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used. It does not apply to all sensing methods.

  • Tag = 41730
  • Type = Undefined
  • Default = None

TAG_COLOR_SPACE

Added in 1.0.0
const val TAG_COLOR_SPACE = "ColorSpace": String!

The color space information tag is always recorded as the color space specifier. Normally COLOR_SPACE_S_RGB is used to define the color space based on the PC monitor conditions and environment. If a color space other than COLOR_SPACE_S_RGB is used, COLOR_SPACE_UNCALIBRATED is set. Image data recorded as COLOR_SPACE_UNCALIBRATED may be treated as COLOR_SPACE_S_RGB when it is converted to Flashpix.

  • Tag = 40961
  • Type = Unsigned short
  • Count = 1

TAG_COMPONENTS_CONFIGURATION

Added in 1.0.0
const val TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration": String!

Information specific to compressed data. The channels of each component are arranged in order from the 1st component to the 4th. For uncompressed data the data arrangement is given in the TAG_PHOTOMETRIC_INTERPRETATION. However, since TAG_PHOTOMETRIC_INTERPRETATION can only express the order of Y, Cb and Cr, this tag is provided for cases when compressed data uses components other than Y, Cb, and Cr and to enable support of other sequences.

  • Tag = 37121
  • Type = Undefined
  • Length = 4
  • Default = 4 5 6 0 (if RGB uncompressed) or 1 2 3 0 (other cases)
    • 0 = does not exist
    • 1 = Y
    • 2 = Cb
    • 3 = Cr
    • 4 = R
    • 5 = G
    • 6 = B
    • other = reserved

TAG_COMPRESSED_BITS_PER_PIXEL

Added in 1.0.0
const val TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel": String!

Information specific to compressed data. The compression mode used for a compressed image is indicated in unit bits per pixel.

  • Tag = 37122
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_COMPRESSION

Added in 1.0.0
const val TAG_COMPRESSION = "Compression": String!

The compression scheme used for the image data. When a primary image is JPEG compressed, this designation is not necessary. So, this tag shall not be recorded. When thumbnails use JPEG compression, this tag value is set to 6.

  • Tag = 259
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_CONTRAST

Added in 1.0.0
const val TAG_CONTRAST = "Contrast": String!

This tag indicates the direction of contrast processing applied by the camera when the image was shot.

TAG_COPYRIGHT

Added in 1.0.0
const val TAG_COPYRIGHT = "Copyright": String!

Copyright information. In this standard the tag is used to indicate both the photographer and editor copyrights. It is the copyright notice of the person or organization claiming rights to the image. The Interoperability copyright statement including date and rights should be written in this field; e.g., "Copyright, John Smith, 19xx. All rights reserved." In this standard the field records both the photographer and editor copyrights, with each recorded in a separate part of the statement. When there is a clear distinction between the photographer and editor copyrights, these are to be written in the order of photographer followed by editor copyright, separated by NULL (in this case, since the statement also ends with a NULL, there are two NULL codes) (see example 1). When only the photographer copyright is given, it is terminated by one NULL code (see example 2). When only the editor copyright is given, the photographer copyright part consists of one space followed by a terminating NULL code, then the editor copyright is given (see example 3). When the field is left blank, it is treated as unknown.

Ex. 1) When both the photographer copyright and editor copyright are given.

  • Photographer copyright + NULL + editor copyright + NULL

Ex. 2) When only the photographer copyright is given.

  • Photographer copyright + NULL

Ex. 3) When only the editor copyright is given.

  • Space (0x20) + NULL + editor copyright + NULL
  • Tag = 315
  • Type = String
  • Default = None

TAG_CUSTOM_RENDERED

Added in 1.0.0
const val TAG_CUSTOM_RENDERED = "CustomRendered": String!

This tag indicates the use of special processing on image data, such as rendering geared to output. When special processing is performed, the Exif/DCF reader is expected to disable or minimize any further processing.

TAG_DATETIME

Added in 1.0.0
const val TAG_DATETIME = "DateTime": String!

The date and time of image creation. In this standard it is the date and time the file was changed. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character (0x20). When the date and time are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 20 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.

  • Tag = 306
  • Type = String
  • Length = 19
  • Default = None

Note: The format "YYYY-MM-DD HH:MM:SS" is also supported for reading. For writing, however, calling setAttribute with the "YYYY-MM-DD HH:MM:SS" format will automatically convert it to the primary format, "YYYY:MM:DD HH:MM:SS".

TAG_DATETIME_DIGITIZED

Added in 1.0.0
const val TAG_DATETIME_DIGITIZED = "DateTimeDigitized": String!

The date and time when the image was stored as digital data. If, for example, an image was captured by DSC and at the same time the file was recorded, then TAG_DATETIME_ORIGINAL and this tag will have the same contents. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character (0x20). When the date and time are unknown, all the character spaces except colons (":")should be filled with blank characters, or else the Interoperability field should be filled with blank characters. When the field is left blank, it is treated as unknown.

  • Tag = 36868
  • Type = String
  • Length = 19
  • Default = None

Note: The format "YYYY-MM-DD HH:MM:SS" is also supported for reading. For writing, however, calling setAttribute with the "YYYY-MM-DD HH:MM:SS" format will automatically convert it to the primary format, "YYYY:MM:DD HH:MM:SS".

TAG_DATETIME_ORIGINAL

Added in 1.0.0
const val TAG_DATETIME_ORIGINAL = "DateTimeOriginal": String!

The date and time when the original image data was generated. For a DSC the date and time the picture was taken are recorded. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character (0x20). When the date and time are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. When the field is left blank, it is treated as unknown.

  • Tag = 36867
  • Type = String
  • Length = 19
  • Default = None

Note: The format "YYYY-MM-DD HH:MM:SS" is also supported for reading. For writing, however, calling setAttribute with the "YYYY-MM-DD HH:MM:SS" format will automatically convert it to the primary format, "YYYY:MM:DD HH:MM:SS".

TAG_DEFAULT_CROP_SIZE

Added in 1.0.0
const val TAG_DEFAULT_CROP_SIZE = "DefaultCropSize": String!

Type is int. DNG Specification 1.4.0.0. Section 4

TAG_DEVICE_SETTING_DESCRIPTION

Added in 1.0.0
const val TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription": String!

This tag indicates information on the picture-taking conditions of a particular camera model. The tag is used only to indicate the picture-taking conditions in the Exif/DCF reader.

  • Tag = 41995
  • Type = Undefined
  • Default = None

TAG_DIGITAL_ZOOM_RATIO

Added in 1.0.0
const val TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio": String!

This tag indicates the digital zoom ratio when the image was shot. If the numerator of the recorded value is 0, this indicates that digital zoom was not used.

Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".

  • Tag = 41988
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_DNG_VERSION

Added in 1.0.0
const val TAG_DNG_VERSION = "DNGVersion": String!

Type is int. DNG Specification 1.4.0.0. Section 4

TAG_EXIF_VERSION

Added in 1.0.0
const val TAG_EXIF_VERSION = "ExifVersion": String!

The version of this standard supported. Nonexistence of this field is taken to mean nonconformance to the standard. In according with conformance to this standard, this tag shall be recorded like "0230” as 4-byte ASCII.

  • Tag = 36864
  • Type = Undefined
  • Length = 4
  • Default = "0230"

TAG_EXPOSURE_BIAS_VALUE

Added in 1.0.0
const val TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue": String!

The exposure bias. The unit is the APEX value. Ordinarily it is given in the range of -99.99 to 99.99.

  • Tag = 37380
  • Type = Signed rational
  • Count = 1
  • Default = None

TAG_EXPOSURE_INDEX

Added in 1.0.0
const val TAG_EXPOSURE_INDEX = "ExposureIndex": String!

Indicates the exposure index selected on the camera or input device at the time the image is captured.

  • Tag = 41493
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_EXPOSURE_MODE

Added in 1.0.0
const val TAG_EXPOSURE_MODE = "ExposureMode": String!

This tag indicates the exposure mode set when the image was shot. In EXPOSURE_MODE_AUTO_BRACKET, the camera shoots a series of frames of the same scene at different exposure settings.

  • Tag = 41986
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_EXPOSURE_PROGRAM

Added in 1.0.0
const val TAG_EXPOSURE_PROGRAM = "ExposureProgram": String!

The class of the program used by the camera to set exposure when the picture is taken. The tag values are as follows.

TAG_EXPOSURE_TIME

Added in 1.0.0
const val TAG_EXPOSURE_TIME = "ExposureTime": String!

Exposure time, given in seconds.

Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".

  • Tag = 33434
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_FILE_SOURCE

Added in 1.0.0
const val TAG_FILE_SOURCE = "FileSource": String!

Indicates the image source. If a DSC recorded the image, this tag value always shall be set to FILE_SOURCE_DSC.

TAG_FLASH

Added in 1.0.0
const val TAG_FLASH = "Flash": String!

This tag indicates the status of flash when the image was shot. Bit 0 indicates the flash firing status, bits 1 and 2 indicate the flash return status, bits 3 and 4 indicate the flash mode, bit 5 indicates whether the flash function is present, and bit 6 indicates "red eye" mode.

  • Tag = 37385
  • Type = Unsigned short
  • Count = 1

TAG_FLASHPIX_VERSION

Added in 1.0.0
const val TAG_FLASHPIX_VERSION = "FlashpixVersion": String!

The Flashpix format version supported by a FPXR file. If the FPXR function supports Flashpix format Ver. 1.0, this is indicated similarly to TAG_EXIF_VERSION by recording "0100" as 4-byte ASCII.

  • Tag = 40960
  • Type = Undefined
  • Length = 4
  • Default = "0100"

TAG_FLASH_ENERGY

Added in 1.0.0
const val TAG_FLASH_ENERGY = "FlashEnergy": String!

Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds (BCPS).

  • Tag = 41483
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_FOCAL_LENGTH

Added in 1.0.0
const val TAG_FOCAL_LENGTH = "FocalLength": String!

The actual focal length of the lens, in mm. Conversion is not made to the focal length of a 35mm film camera.

  • Tag = 37386
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_FOCAL_LENGTH_IN_35MM_FILM

Added in 1.0.0
const val TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm": String!

This tag indicates the equivalent focal length assuming a 35mm film camera, in mm. A value of 0 means the focal length is unknown. Note that this tag differs from TAG_FOCAL_LENGTH.

  • Tag = 41989
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_FOCAL_PLANE_RESOLUTION_UNIT

Added in 1.0.0
const val TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit": String!

Indicates the unit for measuring TAG_FOCAL_PLANE_X_RESOLUTION and TAG_FOCAL_PLANE_Y_RESOLUTION. This value is the same as TAG_RESOLUTION_UNIT.

TAG_FOCAL_PLANE_X_RESOLUTION

Added in 1.0.0
const val TAG_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution": String!

Indicates the number of pixels in the image width (X) direction per TAG_FOCAL_PLANE_RESOLUTION_UNIT on the camera focal plane.

  • Tag = 41486
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_FOCAL_PLANE_Y_RESOLUTION

Added in 1.0.0
const val TAG_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution": String!

Indicates the number of pixels in the image height (Y) direction per TAG_FOCAL_PLANE_RESOLUTION_UNIT on the camera focal plane.

  • Tag = 41487
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_F_NUMBER

Added in 1.0.0
const val TAG_F_NUMBER = "FNumber": String!

The F number.

Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".

  • Tag = 33437
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GAIN_CONTROL

Added in 1.0.0
const val TAG_GAIN_CONTROL = "GainControl": String!

This tag indicates the degree of overall image gain adjustment.

  • Tag = 41991
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_GAMMA

Added in 1.0.0
const val TAG_GAMMA = "Gamma": String!

Indicates the value of coefficient gamma. The formula of transfer function used for image reproduction is expressed as follows.

(Reproduced value) = (Input value) ^ gamma

Both reproduced value and input value indicate normalized value, whose minimum value is 0 and maximum value is 1.

  • Tag = 42240
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_ALTITUDE

Added in 1.0.0
const val TAG_GPS_ALTITUDE = "GPSAltitude": String!

Indicates the altitude based on the reference in TAG_GPS_ALTITUDE_REF. The reference unit is meters.

  • Tag = 6
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_ALTITUDE_REF

Added in 1.0.0
const val TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef": String!

Indicates the altitude used as the reference altitude. If the reference is sea level and the altitude is above sea level, 0 is given. If the altitude is below sea level, a value of 1 is given and the altitude is indicated as an absolute value in TAG_GPS_ALTITUDE.

  • Tag = 5
  • Type = Byte
  • Count = 1
  • Default = 0

TAG_GPS_AREA_INFORMATION

Added in 1.0.0
const val TAG_GPS_AREA_INFORMATION = "GPSAreaInformation": String!

A character string recording the name of the GPS area. The first byte indicates the character code used, and this is followed by the name of the GPS area.

  • Tag = 28
  • Type = Undefined
  • Default = None

TAG_GPS_DATESTAMP

Added in 1.0.0
const val TAG_GPS_DATESTAMP = "GPSDateStamp": String!

A character string recording date and time information relative to UTC (Coordinated Universal Time). The format is "YYYY:MM:DD".

  • Tag = 29
  • Type = String
  • Length = 10
  • Default = None

TAG_GPS_DEST_BEARING

Added in 1.0.0
const val TAG_GPS_DEST_BEARING = "GPSDestBearing": String!

Indicates the bearing to the destination point. The range of values is from 0.00 to 359.99.

  • Tag = 24
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_DEST_BEARING_REF

Added in 1.0.0
const val TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef": String!

Indicates the reference used for giving the bearing to the destination point.

TAG_GPS_DEST_DISTANCE

Added in 1.0.0
const val TAG_GPS_DEST_DISTANCE = "GPSDestDistance": String!

Indicates the distance to the destination point.

  • Tag = 26
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_DEST_DISTANCE_REF

Added in 1.0.0
const val TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef": String!

Indicates the unit used to express the distance to the destination point.

TAG_GPS_DEST_LATITUDE

Added in 1.0.0
const val TAG_GPS_DEST_LATITUDE = "GPSDestLatitude": String!

Indicates the latitude of the destination point. The latitude is expressed as three unsigned rational values giving the degrees, minutes, and seconds, respectively. If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be dd/1, mmmm/100, 0/1.

  • Tag = 20
  • Type = Unsigned rational
  • Count = 3
  • Default = None

TAG_GPS_DEST_LATITUDE_REF

Added in 1.0.0
const val TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef": String!

Indicates whether the latitude of the destination point is north or south latitude.

  • Tag = 19
  • Type = String
  • Length = 1
  • Default = None

TAG_GPS_DEST_LONGITUDE

Added in 1.0.0
const val TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude": String!

Indicates the longitude of the destination point. The longitude is expressed as three unsigned rational values giving the degrees, minutes, and seconds, respectively. If longitude is expressed as degrees, minutes and seconds, a typical format would be ddd/1, mm/1, ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be ddd/1, mmmm/100, 0/1.

  • Tag = 22
  • Type = Unsigned rational
  • Count = 3
  • Default = None

TAG_GPS_DEST_LONGITUDE_REF

Added in 1.0.0
const val TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef": String!

Indicates whether the longitude of the destination point is east or west longitude.

  • Tag = 21
  • Type = String
  • Length = 1
  • Default = None

TAG_GPS_DIFFERENTIAL

Added in 1.0.0
const val TAG_GPS_DIFFERENTIAL = "GPSDifferential": String!

Indicates whether differential correction is applied to the GPS receiver.

  • Tag = 30
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_GPS_DOP

Added in 1.0.0
const val TAG_GPS_DOP = "GPSDOP": String!

Indicates the GPS DOP (data degree of precision). An HDOP value is written during two-dimensional measurement, and PDOP during three-dimensional measurement.

  • Tag = 11
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_H_POSITIONING_ERROR

Added in 1.0.0
const val TAG_GPS_H_POSITIONING_ERROR = "GPSHPositioningError": String!

This tag indicates horizontal positioning errors in meters.

  • Tag = 31
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_IMG_DIRECTION

Added in 1.0.0
const val TAG_GPS_IMG_DIRECTION = "GPSImgDirection": String!

ndicates the direction of the image when it was captured. The range of values is from 0.00 to 359.99.

  • Tag = 17
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_IMG_DIRECTION_REF

Added in 1.0.0
const val TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef": String!

Indicates the reference for giving the direction of the image when it is captured.

TAG_GPS_LATITUDE

Added in 1.0.0
const val TAG_GPS_LATITUDE = "GPSLatitude": String!

Indicates the latitude. The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be dd/1,mmmm/100,0/1.

  • Tag = 2
  • Type = Unsigned rational
  • Count = 3
  • Default = None

TAG_GPS_LATITUDE_REF

Added in 1.0.0
const val TAG_GPS_LATITUDE_REF = "GPSLatitudeRef": String!

Indicates whether the latitude is north or south latitude.

  • Tag = 1
  • Type = String
  • Length = 1
  • Default = None

TAG_GPS_LONGITUDE

Added in 1.0.0
const val TAG_GPS_LONGITUDE = "GPSLongitude": String!

Indicates the longitude. The longitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. If longitude is expressed as degrees, minutes and seconds, a typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be ddd/1,mmmm/100,0/1.

  • Tag = 4
  • Type = Unsigned rational
  • Count = 3
  • Default = None

TAG_GPS_LONGITUDE_REF

Added in 1.0.0
const val TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef": String!

Indicates whether the longitude is east or west longitude.

  • Tag = 3
  • Type = String
  • Length = 1
  • Default = None

TAG_GPS_MAP_DATUM

Added in 1.0.0
const val TAG_GPS_MAP_DATUM = "GPSMapDatum": String!

Indicates the geodetic survey data used by the GPS receiver. If the survey data is restricted to Japan,the value of this tag is 'TOKYO' or 'WGS-84'. If a GPS Info tag is recorded, it is strongly recommended that this tag be recorded.

  • Tag = 18
  • Type = String
  • Default = None

TAG_GPS_MEASURE_MODE

Added in 1.0.0
const val TAG_GPS_MEASURE_MODE = "GPSMeasureMode": String!

Indicates the GPS measurement mode. Originally it was defined for GPS, but it may be used for recording a measure mode to record the position information provided from a mobile base station or wireless LAN as well as GPS.

  • Tag = 10
  • Type = String
  • Length = 1
  • Default = None

TAG_GPS_PROCESSING_METHOD

Added in 1.0.0
const val TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod": String!

A character string recording the name of the method used for location finding. The first byte indicates the character code used, and this is followed by the name of the method.

  • Tag = 27
  • Type = Undefined
  • Default = None

TAG_GPS_SATELLITES

Added in 1.0.0
const val TAG_GPS_SATELLITES = "GPSSatellites": String!

Indicates the GPS satellites used for measurements. This tag may be used to describe the number of satellites, their ID number, angle of elevation, azimuth, SNR and other information in ASCII notation. The format is not specified. If the GPS receiver is incapable of taking measurements, value of the tag shall be set to null.

  • Tag = 8
  • Type = String
  • Default = None

TAG_GPS_SPEED

Added in 1.0.0
const val TAG_GPS_SPEED = "GPSSpeed": String!

Indicates the speed of GPS receiver movement. The units are indicated by TAG_GPS_SPEED_REF.

  • Tag = 13
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_SPEED_REF

Added in 1.0.0
const val TAG_GPS_SPEED_REF = "GPSSpeedRef": String!

Indicates the unit used to express the GPS receiver speed of movement.

TAG_GPS_STATUS

Added in 1.0.0
const val TAG_GPS_STATUS = "GPSStatus": String!

Indicates the status of the GPS receiver when the image is recorded. 'A' means measurement is in progress, and 'V' means the measurement is interrupted.

  • Tag = 9
  • Type = String
  • Length = 1
  • Default = None

TAG_GPS_TIMESTAMP

Added in 1.0.0
const val TAG_GPS_TIMESTAMP = "GPSTimeStamp": String!

Indicates the time as UTC (Coordinated Universal Time). TimeStamp is expressed as three unsigned rational values giving the hour, minute, and second.

Note: This attribute is returned from getAttribute and accepted into setAttribute as 3 colon-separated integers, e.g. "11:05:32". Decimal or rational hours, minutes or seconds parts are not supported.

  • Tag = 7
  • Type = Unsigned rational
  • Count = 3
  • Default = None

TAG_GPS_TRACK

Added in 1.0.0
const val TAG_GPS_TRACK = "GPSTrack": String!

Indicates the direction of GPS receiver movement. The range of values is from 0.00 to 359.99.

  • Tag = 15
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_GPS_TRACK_REF

Added in 1.0.0
const val TAG_GPS_TRACK_REF = "GPSTrackRef": String!

Indicates the reference for giving the direction of GPS receiver movement.

TAG_GPS_VERSION_ID

Added in 1.0.0
const val TAG_GPS_VERSION_ID = "GPSVersionID": String!

Indicates the version of GPS Info IFD. The version is given as 2.3.0.0. This tag is mandatory when GPS-related tags are present. Note that this tag is written as a different byte than TAG_EXIF_VERSION.

  • Tag = 0
  • Type = Byte
  • Count = 4
  • Default = 2.3.0.0
    • 2300 = Version 2.3
    • Other = reserved

TAG_IMAGE_DESCRIPTION

Added in 1.0.0
const val TAG_IMAGE_DESCRIPTION = "ImageDescription": String!

An ASCII string giving the title of the image. It is possible to be added a comment such as "1988 company picnic" or the like. Two-byte character codes cannot be used. When a 2-byte code is necessary, TAG_USER_COMMENT is to be used.

  • Tag = 270
  • Type = String
  • Default = None

TAG_IMAGE_LENGTH

Added in 1.0.0
const val TAG_IMAGE_LENGTH = "ImageLength": String!

The number of rows of image data. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.

  • Tag = 257
  • Type = Unsigned short or Unsigned long
  • Count = 1
  • Default = None

TAG_IMAGE_UNIQUE_ID

Added in 1.0.0
const val TAG_IMAGE_UNIQUE_ID = "ImageUniqueID": String!

This tag indicates an identifier assigned uniquely to each image. It is recorded as an ASCII string equivalent to hexadecimal notation and 128-bit fixed length.

  • Tag = 42016
  • Type = String
  • Length = 32
  • Default = None

TAG_IMAGE_WIDTH

Added in 1.0.0
const val TAG_IMAGE_WIDTH = "ImageWidth": String!

The number of columns of image data, equal to the number of pixels per row. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.

  • Tag = 256
  • Type = Unsigned short or Unsigned long
  • Count = 1
  • Default = None

TAG_INTEROPERABILITY_INDEX

Added in 1.0.0
const val TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex": String!

Indicates the identification of the Interoperability rule.

  • Tag = 1
  • Type = String
  • Length = 4
  • Default = None
    • "R98" = Indicates a file conforming to R98 file specification of Recommended Exif Interoperability Rules (Exif R 98) or to DCF basic file stipulated by Design Rule for Camera File System.
    • "THM" = Indicates a file conforming to DCF thumbnail file stipulated by Design rule for Camera File System.
    • “R03” = Indicates a file conforming to DCF Option File stipulated by Design rule for Camera File System.

TAG_ISO_SPEED

Added in 1.0.0
const val TAG_ISO_SPEED = "ISOSpeed": String!

This tag indicates the ISO speed value of a camera or input device that is defined in ISO 12232. When recording this tag, TAG_PHOTOGRAPHIC_SENSITIVITY and TAG_SENSITIVITY_TYPE shall also be recorded.

  • Tag = 34867
  • Type = Unsigned long
  • Count = 1
  • Default = None

TAG_ISO_SPEED_LATITUDE_YYY

Added in 1.0.0
const val TAG_ISO_SPEED_LATITUDE_YYY = "ISOSpeedLatitudeyyy": String!

This tag indicates the ISO speed latitude yyy value of a camera or input device that is defined in ISO 12232. However, this tag shall not be recorded without TAG_ISO_SPEED and TAG_ISO_SPEED_LATITUDE_ZZZ.

  • Tag = 34868
  • Type = Unsigned long
  • Count = 1
  • Default = None

TAG_ISO_SPEED_LATITUDE_ZZZ

Added in 1.0.0
const val TAG_ISO_SPEED_LATITUDE_ZZZ = "ISOSpeedLatitudezzz": String!

This tag indicates the ISO speed latitude zzz value of a camera or input device that is defined in ISO 12232. However, this tag shall not be recorded without TAG_ISO_SPEED and TAG_ISO_SPEED_LATITUDE_YYY.

  • Tag = 34869
  • Type = Unsigned long
  • Count = 1
  • Default = None

TAG_ISO_SPEED_RATINGS

Added in 1.0.0
Deprecated in 1.0.0
const val TAG_ISO_SPEED_RATINGS = "ISOSpeedRatings": String!

TAG_JPEG_INTERCHANGE_FORMAT

Added in 1.0.0
const val TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat": String!

The offset to the start byte (SOI) of JPEG compressed thumbnail data. This shall not be used for primary image JPEG data.

  • Tag = 513
  • Type = Unsigned long
  • Default = None

TAG_JPEG_INTERCHANGE_FORMAT_LENGTH

Added in 1.0.0
const val TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength": String!

The number of bytes of JPEG compressed thumbnail data. This is not used for primary image JPEG data. JPEG thumbnails are not divided but are recorded as a continuous JPEG bitstream from SOI to EOI. APPn and COM markers should not be recorded. Compressed thumbnails shall be recorded in no more than 64 KBytes, including all other data to be recorded in APP1.

  • Tag = 514
  • Type = Unsigned long
  • Default = None

TAG_LENS_MAKE

Added in 1.0.0
const val TAG_LENS_MAKE = "LensMake": String!

This tag records the lens manufacturer as an ASCII string.

  • Tag = 42035
  • Type = String
  • Default = None

TAG_LENS_MODEL

Added in 1.0.0
const val TAG_LENS_MODEL = "LensModel": String!

This tag records the lens’s model name and model number as an ASCII string.

  • Tag = 42036
  • Type = String
  • Default = None

TAG_LENS_SERIAL_NUMBER

Added in 1.0.0
const val TAG_LENS_SERIAL_NUMBER = "LensSerialNumber": String!

This tag records the serial number of the interchangeable lens that was used in photography as an ASCII string.

  • Tag = 42037
  • Type = String
  • Default = None

TAG_LENS_SPECIFICATION

Added in 1.0.0
const val TAG_LENS_SPECIFICATION = "LensSpecification": String!

This tag notes minimum focal length, maximum focal length, minimum F number in the minimum focal length, and minimum F number in the maximum focal length, which are specification information for the lens that was used in photography. When the minimum F number is unknown, the notation is 0/0.

  • Tag = 42034
  • Type = Unsigned rational
  • Count = 4
  • Default = None
    • Value 1 := Minimum focal length (unit: mm)
    • Value 2 : = Maximum focal length (unit: mm)
    • Value 3 : = Minimum F number in the minimum focal length
    • Value 4 : = Minimum F number in the maximum focal length

TAG_MAKE

Added in 1.0.0
const val TAG_MAKE = "Make": String!

The manufacturer of the recording equipment. This is the manufacturer of the DSC, scanner, video digitizer or other equipment that generated the image. When the field is left blank, it is treated as unknown.

  • Tag = 271
  • Type = String
  • Default = None

TAG_MAKER_NOTE

Added in 1.0.0
const val TAG_MAKER_NOTE = "MakerNote": String!

A tag for manufacturers of Exif/DCF writers to record any desired information. The contents are up to the manufacturer, but this tag shall not be used for any other than its intended purpose.

  • Tag = 37500
  • Type = Undefined
  • Default = None

TAG_MAX_APERTURE_VALUE

Added in 1.0.0
const val TAG_MAX_APERTURE_VALUE = "MaxApertureValue": String!

The smallest F number of the lens. The unit is the APEX value. Ordinarily it is given in the range of 00.00 to 99.99, but it is not limited to this range.

  • Tag = 37381
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_METERING_MODE

Added in 1.0.0
const val TAG_METERING_MODE = "MeteringMode": String!

The metering mode.

TAG_MODEL

Added in 1.0.0
const val TAG_MODEL = "Model": String!

The model name or model number of the equipment. This is the model name of number of the DSC, scanner, video digitizer or other equipment that generated the image. When the field is left blank, it is treated as unknown.

  • Tag = 272
  • Type = String
  • Default = None

TAG_NEW_SUBFILE_TYPE

Added in 1.0.0
const val TAG_NEW_SUBFILE_TYPE = "NewSubfileType": String!

Type is int. See JEITA CP-3451C Spec Section 3: Bilevel Images.

TAG_OECF

Added in 1.0.0
const val TAG_OECF = "OECF": String!

Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524. OECF is the relationship between the camera optical input and the image values.

  • Tag = 34856
  • Type = Undefined
  • Default = None

TAG_OFFSET_TIME

Added in 1.2.0
const val TAG_OFFSET_TIME = "OffsetTime": String!

A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag. The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-". When the offsets are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 7 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.

  • Tag = 36880
  • Type = String
  • Length = 7
  • Default = None

TAG_OFFSET_TIME_DIGITIZED

Added in 1.2.0
const val TAG_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized": String!

A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag. The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-". When the offsets are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 7 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.

  • Tag = 36882
  • Type = String
  • Length = 7
  • Default = None

TAG_OFFSET_TIME_ORIGINAL

Added in 1.2.0
const val TAG_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal": String!

A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag. The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-". When the offsets are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 7 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.

  • Tag = 36881
  • Type = String
  • Length = 7
  • Default = None

TAG_ORF_ASPECT_FRAME

Added in 1.0.0
const val TAG_ORF_ASPECT_FRAME = "AspectFrame": String!

Type is int. See Olympus Image Processing tags in http://www.exiv2.org/tags-olympus.html.

TAG_ORF_PREVIEW_IMAGE_LENGTH

Added in 1.0.0
const val TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength": String!

Type is int. See Olympus Camera Settings tags in http://www.exiv2.org/tags-olympus.html.

TAG_ORF_PREVIEW_IMAGE_START

Added in 1.0.0
const val TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart": String!

Type is int. See Olympus Camera Settings tags in http://www.exiv2.org/tags-olympus.html.

TAG_ORF_THUMBNAIL_IMAGE

Added in 1.0.0
const val TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage": String!

Type is undefined. See Olympus MakerNote tags in http://www.exiv2.org/tags-olympus.html.

TAG_ORIENTATION

Added in 1.0.0
const val TAG_ORIENTATION = "Orientation": String!

The image orientation viewed in terms of rows and columns.

TAG_PHOTOGRAPHIC_SENSITIVITY

Added in 1.0.0
const val TAG_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity": String!

This tag indicates the sensitivity of the camera or input device when the image was shot. More specifically, it indicates one of the following values that are parameters defined in ISO 12232: standard output sensitivity (SOS), recommended exposure index (REI), or ISO speed. Accordingly, if a tag corresponding to a parameter that is designated by TAG_SENSITIVITY_TYPE is recorded, the values of the tag and of this tag are the same. However, if the value is 65535 or higher, the value of this tag shall be 65535. When recording this tag, TAG_SENSITIVITY_TYPE should also be recorded. In addition, while “Count = Any”, only 1 count should be used when recording this tag.

  • Tag = 34855
  • Type = Unsigned short
  • Count = Any
  • Default = None

TAG_PHOTOMETRIC_INTERPRETATION

Added in 1.0.0
const val TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation": String!

The pixel composition. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.

  • Tag = 262
  • Type = SHORT
  • Count = 1
  • Default = None

TAG_PIXEL_X_DIMENSION

Added in 1.0.0
const val TAG_PIXEL_X_DIMENSION = "PixelXDimension": String!

Information specific to compressed data. When a compressed file is recorded, the valid width of the meaningful image shall be recorded in this tag, whether or not there is padding data or a restart marker. This tag shall not exist in an uncompressed file.

  • Tag = 40962
  • Type = Unsigned short or Unsigned long
  • Count = 1
  • Default = None

TAG_PIXEL_Y_DIMENSION

Added in 1.0.0
const val TAG_PIXEL_Y_DIMENSION = "PixelYDimension": String!

Information specific to compressed data. When a compressed file is recorded, the valid height of the meaningful image shall be recorded in this tag, whether or not there is padding data or a restart marker. This tag shall not exist in an uncompressed file. Since data padding is unnecessary in the vertical direction, the number of lines recorded in this valid image height tag will in fact be the same as that recorded in the SOF.

  • Tag = 40963
  • Type = Unsigned short or Unsigned long
  • Count = 1

TAG_PLANAR_CONFIGURATION

Added in 1.0.0
const val TAG_PLANAR_CONFIGURATION = "PlanarConfiguration": String!

Indicates whether pixel components are recorded in chunky or planar format. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it. If this field does not exist, the TIFF default, FORMAT_CHUNKY, is assumed.

  • Tag = 284
  • Type = Unsigned short
  • Count = 1

TAG_PRIMARY_CHROMATICITIES

Added in 1.0.0
const val TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities": String!

The chromaticity of the three primary colors of the image. Normally this tag need not be used, since color space is specified in TAG_COLOR_SPACE.

  • Tag = 319
  • Type = Unsigned rational
  • Count = 6
  • Default = None
Added in 1.0.0
const val TAG_RECOMMENDED_EXPOSURE_INDEX = "RecommendedExposureIndex": String!

This tag indicates the recommended exposure index value of a camera or input device defined in ISO 12232. When recording this tag, TAG_PHOTOGRAPHIC_SENSITIVITY and TAG_SENSITIVITY_TYPE shall also be recorded.

  • Tag = 34866
  • Type = Unsigned long
  • Count = 1
  • Default = None

TAG_REFERENCE_BLACK_WHITE

Added in 1.0.0
const val TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite": String!

The reference black point value and reference white point value. No defaults are given in TIFF, but the values below are given as defaults here. The color space is declared in a color space information tag, with the default being the value that gives the optimal image characteristics Interoperability these conditions

Added in 1.0.0
const val TAG_RELATED_SOUND_FILE = "RelatedSoundFile": String!

This tag is used to record the name of an audio file related to the image data. The only relational information recorded here is the Exif audio file name and extension (an ASCII string consisting of 8 characters + '.' + 3 characters). The path is not recorded.

When using this tag, audio files shall be recorded in conformance to the Exif audio format. Writers can also store the data such as Audio within APP2 as Flashpix extension stream data. Audio files shall be recorded in conformance to the Exif audio format.

  • Tag = 40964
  • Type = String
  • Length = 12
  • Default = None

TAG_RESOLUTION_UNIT

Added in 1.0.0
const val TAG_RESOLUTION_UNIT = "ResolutionUnit": String!

The unit for measuring TAG_X_RESOLUTION and TAG_Y_RESOLUTION. The same unit is used for both TAG_X_RESOLUTION and TAG_Y_RESOLUTION. If the image resolution is unknown, RESOLUTION_UNIT_INCHES shall be designated.

TAG_ROWS_PER_STRIP

Added in 1.0.0
const val TAG_ROWS_PER_STRIP = "RowsPerStrip": String!

The number of rows per strip. This is the number of rows in the image of one strip when an image is divided into strips. In the case of JPEG compressed data, this designation is not necessary. So, this tag shall not be recorded.

  • Tag = 278
  • Type = Unsigned short or Unsigned long
  • Count = 1
  • Default = None

TAG_RW2_ISO

Added in 1.0.0
const val TAG_RW2_ISO = "ISO": String!

Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html

TAG_RW2_JPG_FROM_RAW

Added in 1.0.0
const val TAG_RW2_JPG_FROM_RAW = "JpgFromRaw": String!

Type is undefined. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html

TAG_RW2_SENSOR_BOTTOM_BORDER

Added in 1.0.0
const val TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder": String!

Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html

TAG_RW2_SENSOR_LEFT_BORDER

Added in 1.0.0
const val TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder": String!

Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html

TAG_RW2_SENSOR_RIGHT_BORDER

Added in 1.0.0
const val TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder": String!

Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html

TAG_RW2_SENSOR_TOP_BORDER

Added in 1.0.0
const val TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder": String!

Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html

TAG_SAMPLES_PER_PIXEL

Added in 1.0.0
const val TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel": String!

The number of components per pixel. Since this standard applies to RGB and YCbCr images, the value set for this tag is 3. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.

  • Tag = 277
  • Type = Unsigned short
  • Count = 1
  • Default = 3

TAG_SATURATION

Added in 1.0.0
const val TAG_SATURATION = "Saturation": String!

This tag indicates the direction of saturation processing applied by the camera when the image was shot.

TAG_SCENE_CAPTURE_TYPE

Added in 1.0.0
const val TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType": String!

This tag indicates the type of scene that was shot. It may also be used to record the mode in which the image was shot. Note that this differs from TAG_SCENE_TYPE.

  • Tag = 41990
  • Type = Unsigned short
  • Count = 1
  • Default = 0

TAG_SCENE_TYPE

Added in 1.0.0
const val TAG_SCENE_TYPE = "SceneType": String!

Indicates the type of scene. If a DSC recorded the image, this tag value shall always be set to SCENE_TYPE_DIRECTLY_PHOTOGRAPHED.

  • Tag = 41729
  • Type = Undefined
  • Length = 1
  • Default = 1

TAG_SENSING_METHOD

Added in 1.0.0
const val TAG_SENSING_METHOD = "SensingMethod": String!

Indicates the image sensor type on the camera or input device.

  • Tag = 41495
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_SENSITIVITY_TYPE

Added in 1.0.0
const val TAG_SENSITIVITY_TYPE = "SensitivityType": String!

This tag indicates which one of the parameters of ISO12232 is TAG_PHOTOGRAPHIC_SENSITIVITY. Although it is an optional tag, it should be recorded when TAG_PHOTOGRAPHIC_SENSITIVITY is recorded.

  • Tag = 34864
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_SHARPNESS

Added in 1.0.0
const val TAG_SHARPNESS = "Sharpness": String!

This tag indicates the direction of sharpness processing applied by the camera when the image was shot.

TAG_SHUTTER_SPEED_VALUE

Added in 1.0.0
const val TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue": String!

Shutter speed. The unit is the APEX setting.

  • Tag = 37377
  • Type = Signed rational
  • Count = 1
  • Default = None

TAG_SOFTWARE

Added in 1.0.0
const val TAG_SOFTWARE = "Software": String!

This tag records the name and version of the software or firmware of the camera or image input device used to generate the image. The detailed format is not specified, but it is recommended that the example shown below be followed. When the field is left blank, it is treated as unknown.

Ex.) "Exif Software Version 1.00a".

  • Tag = 305
  • Type = String
  • Default = None

TAG_SPATIAL_FREQUENCY_RESPONSE

Added in 1.0.0
const val TAG_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse": String!

This tag records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233.

  • Tag = 41484
  • Type = Undefined
  • Default = None

TAG_SPECTRAL_SENSITIVITY

Added in 1.0.0
const val TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity": String!

Indicates the spectral sensitivity of each channel of the camera used. The tag value is an ASCII string compatible with the standard developed by the ASTM Technical committee.

  • Tag = 34852
  • Type = String
  • Default = None

TAG_STANDARD_OUTPUT_SENSITIVITY

Added in 1.0.0
const val TAG_STANDARD_OUTPUT_SENSITIVITY = "StandardOutputSensitivity": String!

This tag indicates the standard output sensitivity value of a camera or input device defined in ISO 12232. When recording this tag, TAG_PHOTOGRAPHIC_SENSITIVITY and TAG_SENSITIVITY_TYPE shall also be recorded.

  • Tag = 34865
  • Type = Unsigned long
  • Count = 1
  • Default = None

TAG_STRIP_BYTE_COUNTS

Added in 1.0.0
const val TAG_STRIP_BYTE_COUNTS = "StripByteCounts": String!

The total number of bytes in each strip. In the case of JPEG compressed data, this designation is not necessary. So, this tag shall not be recorded.

StripsPerImage = floor((TAG_IMAGE_LENGTH + TAG_ROWS_PER_STRIP - 1) / TAG_ROWS_PER_STRIP)

TAG_STRIP_OFFSETS

Added in 1.0.0
const val TAG_STRIP_OFFSETS = "StripOffsets": String!

For each strip, the byte offset of that strip. It is recommended that this be selected so the number of strip bytes does not exceed 64 KBytes.In the case of JPEG compressed data, this designation is not necessary. So, this tag shall not be recorded.

StripsPerImage = floor((TAG_IMAGE_LENGTH + TAG_ROWS_PER_STRIP - 1) / TAG_ROWS_PER_STRIP)

TAG_SUBFILE_TYPE

Added in 1.0.0
const val TAG_SUBFILE_TYPE = "SubfileType": String!

Type is int. See JEITA CP-3451C Spec Section 3: Bilevel Images.

TAG_SUBJECT_AREA

Added in 1.0.0
const val TAG_SUBJECT_AREA = "SubjectArea": String!

This tag indicates the location and area of the main subject in the overall scene.

  • Tag = 37396
  • Type = Unsigned short
  • Count = 2 or 3 or 4
  • Default = None

The subject location and area are defined by Count values as follows.

  • Count = 2 Indicates the location of the main subject as coordinates. The first value is the X coordinate and the second is the Y coordinate.
  • Count = 3 The area of the main subject is given as a circle. The circular area is expressed as center coordinates and diameter. The first value is the center X coordinate, the second is the center Y coordinate, and the third is the diameter.
  • Count = 4 The area of the main subject is given as a rectangle. The rectangular area is expressed as center coordinates and area dimensions. The first value is the center X coordinate, the second is the center Y coordinate, the third is the width of the area, and the fourth is the height of the area.

Note that the coordinate values, width, and height are expressed in relation to the upper left as origin, prior to rotation processing as per TAG_ORIENTATION.

TAG_SUBJECT_DISTANCE

Added in 1.0.0
const val TAG_SUBJECT_DISTANCE = "SubjectDistance": String!

The distance to the subject, given in meters.

Note that if the numerator of the recorded value is 0xFFFFFFFF, Infinity shall be indicated; and if the numerator is 0, Distance unknown shall be indicated.

Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".

  • Tag = 37382
  • Type = Unsigned rational
  • Count = 1
  • Default = None

TAG_SUBJECT_DISTANCE_RANGE

Added in 1.0.0
const val TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange": String!

This tag indicates the distance to the subject.

  • Tag = 41996
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_SUBJECT_LOCATION

Added in 1.0.0
const val TAG_SUBJECT_LOCATION = "SubjectLocation": String!

Indicates the location of the main subject in the scene. The value of this tag represents the pixel at the center of the main subject relative to the left edge, prior to rotation processing as per TAG_ORIENTATION. The first value indicates the X column number and second indicates the Y row number. When a camera records the main subject location, it is recommended that TAG_SUBJECT_AREA be used instead of this tag.

  • Tag = 41492
  • Type = Unsigned short
  • Count = 2
  • Default = None

TAG_SUBSEC_TIME

Added in 1.0.0
const val TAG_SUBSEC_TIME = "SubSecTime": String!

A tag used to record fractions of seconds for TAG_DATETIME.

  • Tag = 37520
  • Type = String
  • Default = None

TAG_SUBSEC_TIME_DIGITIZED

Added in 1.0.0
const val TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized": String!

A tag used to record fractions of seconds for TAG_DATETIME_DIGITIZED.

  • Tag = 37522
  • Type = String
  • Default = None

TAG_SUBSEC_TIME_ORIGINAL

Added in 1.0.0
const val TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal": String!

A tag used to record fractions of seconds for TAG_DATETIME_ORIGINAL.

  • Tag = 37521
  • Type = String
  • Default = None

TAG_THUMBNAIL_IMAGE_LENGTH

Added in 1.0.0
const val TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength": String!
See also
TAG_IMAGE_LENGTH

TAG_THUMBNAIL_IMAGE_WIDTH

Added in 1.0.0
const val TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth": String!
See also
TAG_IMAGE_WIDTH

TAG_TRANSFER_FUNCTION

Added in 1.0.0
const val TAG_TRANSFER_FUNCTION = "TransferFunction": String!

A transfer function for the image, described in tabular style. Normally this tag need not be used, since color space is specified in TAG_COLOR_SPACE.

  • Tag = 301
  • Type = Unsigned short
  • Count = 3 * 256
  • Default = None

TAG_USER_COMMENT

Added in 1.0.0
const val TAG_USER_COMMENT = "UserComment": String!

A tag for Exif users to write keywords or comments on the image besides those in TAG_IMAGE_DESCRIPTION, and without the character code limitations of it.

  • Tag = 37510
  • Type = Undefined
  • Default = None

TAG_WHITE_BALANCE

Added in 1.0.0
const val TAG_WHITE_BALANCE = "WhiteBalance": String!

This tag indicates the white balance mode set when the image was shot.

  • Tag = 41987
  • Type = Unsigned short
  • Count = 1
  • Default = None

TAG_WHITE_POINT

Added in 1.0.0
const val TAG_WHITE_POINT = "WhitePoint": String!

The chromaticity of the white point of the image. Normally this tag need not be used, since color space is specified in TAG_COLOR_SPACE.

  • Tag = 318
  • Type = Unsigned rational
  • Count = 2
  • Default = None

TAG_XMP

Added in 1.1.0
const val TAG_XMP = "Xmp": String!

Type is byte[]. See Extensible Metadata Platform (XMP) for details on contents.

See also notes about XMP handling in different containers in the class-level javadoc of this class.

TAG_X_RESOLUTION

Added in 1.0.0
const val TAG_X_RESOLUTION = "XResolution": String!

The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction. When the image resolution is unknown, 72 [dpi] shall be designated.

  • Tag = 282
  • Type = Unsigned rational
  • Count = 1
  • Default = 72

TAG_Y_CB_CR_COEFFICIENTS

Added in 1.0.0
const val TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients": String!

The matrix coefficients for transformation from RGB to YCbCr image data. About the default value, please refer to JEITA CP-3451C Spec, Annex D.

  • Tag = 529
  • Type = Unsigned rational
  • Count = 3

TAG_Y_CB_CR_POSITIONING

Added in 1.0.0
const val TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning": String!

The position of chrominance components in relation to the luminance component. This field is designated only for JPEG compressed data or uncompressed YCbCr data. The TIFF default is Y_CB_CR_POSITIONING_CENTERED; but when Y:Cb:Cr = 4:2:2 it is recommended in this standard that Y_CB_CR_POSITIONING_CO_SITED be used to record data, in order to improve the image quality when viewed on TV systems. When this field does not exist, the reader shall assume the TIFF default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (Y_CB_CR_POSITIONING_CENTERED) is recommended. If the Exif/DCF reader does not have the capability of supporting both kinds of positioning, it shall follow the TIFF default regardless of the value in this field. It is preferable that readers can support both centered and co-sited positioning.

TAG_Y_CB_CR_SUB_SAMPLING

Added in 1.0.0
const val TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling": String!

The sampling ratio of chrominance components in relation to the luminance component. In JPEG compressed data a JPEG marker is used instead of this tag. So, this tag shall not be recorded.

  • Tag = 530
  • Type = Unsigned short
  • Count = 2
    • [2, 1] = YCbCr4:2:2
    • [2, 2] = YCbCr4:2:0
    • Other = reserved

TAG_Y_RESOLUTION

Added in 1.0.0
const val TAG_Y_RESOLUTION = "YResolution": String!

The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction. The same value as TAG_X_RESOLUTION shall be designated.

  • Tag = 283
  • Type = Unsigned rational
  • Count = 1
  • Default = 72

WHITEBALANCE_AUTO

Added in 1.0.0
Deprecated in 1.0.0
const val WHITEBALANCE_AUTO = 0: Int

The constant used by TAG_WHITE_BALANCE to denote the white balance is Auto.

WHITEBALANCE_MANUAL

Added in 1.0.0
Deprecated in 1.0.0
const val WHITEBALANCE_MANUAL = 1: Int

The constant used by TAG_WHITE_BALANCE to denote the white balance is Manual.

WHITE_BALANCE_AUTO

Added in 1.0.0
const val WHITE_BALANCE_AUTO = 0: Short

The constant used by TAG_WHITE_BALANCE to denote the white balance is Auto.

WHITE_BALANCE_MANUAL

Added in 1.0.0
const val WHITE_BALANCE_MANUAL = 1: Short

The constant used by TAG_WHITE_BALANCE to denote the white balance is Manual.

Y_CB_CR_POSITIONING_CENTERED

Added in 1.0.0
const val Y_CB_CR_POSITIONING_CENTERED = 1: Short

The constant used by TAG_Y_CB_CR_POSITIONING to denote Centered positioning.

Y_CB_CR_POSITIONING_CO_SITED

Added in 1.0.0
const val Y_CB_CR_POSITIONING_CO_SITED = 2: Short

The constant used by TAG_Y_CB_CR_POSITIONING to denote Co-sited positioning.

Public constructors

ExifInterface

Added in 1.1.0
ExifInterface(fileDescriptor: FileDescriptor)

Reads Exif tags from the specified image file descriptor. Attribute mutation is supported for writable and seekable file descriptors only. This constructor will not rewind the offset of the given file descriptor. Developers should close the file descriptor after use.

Parameters
fileDescriptor: FileDescriptor

the file descriptor of the image data

Throws
java.lang.NullPointerException

if file descriptor is null

java.io.IOException

if an error occurs while duplicating the file descriptor.

ExifInterface

Added in 1.1.0
ExifInterface(file: File)

Reads Exif tags from the specified image file.

Parameters
file: File

the file of the image data

Throws
java.lang.NullPointerException

if file is null

java.io.IOException

if an I/O error occurs while retrieving file descriptor via getFD.

ExifInterface

Added in 1.0.0
ExifInterface(filename: String)

Reads Exif tags from the specified image file.

Parameters
filename: String

the name of the file of the image data

Throws
java.lang.NullPointerException

if file name is null

java.io.IOException

if an I/O error occurs while retrieving file descriptor via getFD.

ExifInterface

Added in 1.0.0
ExifInterface(inputStream: InputStream)

Reads Exif tags from the specified image input stream. Attribute mutation is not supported for input streams. The given input stream will proceed from its current position. Developers should close the input stream after use. This constructor is not intended to be used with an input stream that performs any networking operations.

Parameters
inputStream: InputStream

the input stream that contains the image data

Throws
java.lang.NullPointerException

if the input stream is null

ExifInterface

Added in 1.2.0
ExifInterface(inputStream: InputStream, streamType: Int)

Reads Exif tags from the specified image input stream based on the stream type. Attribute mutation is not supported for input streams. The given input stream will proceed from its current position. Developers should close the input stream after use. This constructor is not intended to be used with an input stream that performs any networking operations.

Parameters
inputStream: InputStream

the input stream that contains the image data

streamType: Int

the type of input stream

Throws
java.lang.NullPointerException

if the input stream is null

java.io.IOException

if an I/O error occurs while retrieving file descriptor via getFD.

Public functions

flipHorizontally

Added in 1.0.0
fun flipHorizontally(): Unit

Flips the image horizontally.

flipVertically

Added in 1.0.0
fun flipVertically(): Unit

Flips the image vertically.

getAltitude

Added in 1.0.0
fun getAltitude(defaultValue: Double): Double

Return the altitude in meters. If the exif tag does not exist, return defaultValue.

Parameters
defaultValue: Double

the value to return if the tag is not available.

getAttribute

Added in 1.0.0
fun getAttribute(tag: String): String?

Returns the value of the specified tag or null if there is no such tag in the image file.

Parameters
tag: String

the name of the tag.

getAttributeBytes

Added in 1.1.0
fun getAttributeBytes(tag: String): ByteArray<Byte>?

Returns the raw bytes for the value of the requested tag inside the image file, or null if the tag is not contained.

Returns
ByteArray<Byte>?

raw bytes for the value of the requested tag, or null if no tag was found.

getAttributeDouble

Added in 1.0.0
fun getAttributeDouble(tag: String, defaultValue: Double): Double

Returns the double value of the tag that is specified as rational or contains a double-formatted value. If there is no such tag in the image file or the value cannot be parsed as double, return defaultValue.

Parameters
tag: String

the name of the tag.

defaultValue: Double

the value to return if the tag is not available.

getAttributeInt

Added in 1.0.0
fun getAttributeInt(tag: String, defaultValue: Int): Int

Returns the integer value of the specified tag. If there is no such tag in the image file or the value cannot be parsed as integer, return defaultValue.

Parameters
tag: String

the name of the tag.

defaultValue: Int

the value to return if the tag is not available.

getAttributeRange

Added in 1.1.0
fun getAttributeRange(tag: String): LongArray<Long>?

Returns the offset and length of the requested tag inside the image file, or null if the tag is not contained.

Returns
LongArray<Long>?

two-element array, the offset in the first value, and length in the second, or null if no tag was found.

Throws
java.lang.IllegalStateException

if saveAttributes has been called since the underlying file was initially parsed, since that means offsets may have changed.

getGpsDateTime

Added in 1.3.0
fun getGpsDateTime(): Long?

Returns number of milliseconds since 1970-01-01 00:00:00 UTC.

Returns
Long?

null if the date time information is not available.

getLatLong

Added in 1.0.0
fun getLatLong(): DoubleArray<Double>?

Gets the latitude and longitude values.

If there are valid latitude and longitude values in the image, this method returns a double array where the first element is the latitude and the second element is the longitude. Otherwise, it returns null.

getLatLong

Added in 1.0.0
Deprecated in 1.0.0
fun getLatLong(output: FloatArray!): Boolean

Stores the latitude and longitude value in a float array. The first element is the latitude, and the second element is the longitude. Returns false if the Exif tags are not available.

getRotationDegrees

Added in 1.0.0
fun getRotationDegrees(): Int

Returns the rotation degrees for the current image orientation. If the image is flipped, i.e., isFlipped returns true, the rotation degrees will be base on the assumption that the image is first flipped horizontally (along Y-axis), and then do the rotation. For example, ORIENTATION_TRANSPOSE will be interpreted as flipped horizontally first, and then rotate 270 degrees clockwise.

Returns
Int

The rotation degrees of the image after the horizontal flipping is applied, if any.

See also
isFlipped

getThumbnail

Added in 1.0.0
fun getThumbnail(): ByteArray<Byte>?

Returns the JPEG compressed thumbnail inside the image file, or null if there is no JPEG compressed thumbnail. The returned data can be decoded using decodeByteArray

getThumbnailBitmap

Added in 1.0.0
fun getThumbnailBitmap(): Bitmap?

Creates and returns a Bitmap object of the thumbnail image based on the byte array and the thumbnail compression value, or null if the compression type is unsupported.

getThumbnailBytes

Added in 1.0.0
fun getThumbnailBytes(): ByteArray<Byte>?

Returns the thumbnail bytes inside the image file, regardless of the compression type of the thumbnail image.

getThumbnailRange

Added in 1.0.0
fun getThumbnailRange(): LongArray<Long>?

Returns the offset and length of thumbnail inside the image file, or null if either there is no thumbnail or the thumbnail bytes are stored non-consecutively.

Returns
LongArray<Long>?

two-element array, the offset in the first value, and length in the second, or null if no thumbnail was found or the thumbnail strips are not placed consecutively.

Throws
java.lang.IllegalStateException

if saveAttributes has been called since the underlying file was initially parsed, since that means offsets may have changed.

hasAttribute

Added in 1.1.0
fun hasAttribute(tag: String): Boolean

Returns true if the image file has the given attribute defined.

Parameters
tag: String

the name of the tag.

hasThumbnail

Added in 1.0.0
fun hasThumbnail(): Boolean

Returns true if the image file has a thumbnail.

isFlipped

Added in 1.0.0
fun isFlipped(): Boolean

Returns if the current image orientation is flipped.

isSupportedMimeType

Added in 1.2.0
java-static fun isSupportedMimeType(mimeType: String): Boolean

Returns whether ExifInterface currently supports reading data from the specified mime type or not.

Parameters
mimeType: String

the string value of mime type

isThumbnailCompressed

Added in 1.0.0
fun isThumbnailCompressed(): Boolean

Returns true if thumbnail image is JPEG Compressed, or false if either thumbnail image does not exist or thumbnail image is uncompressed.

resetOrientation

Added in 1.0.0
fun resetOrientation(): Unit

Resets the TAG_ORIENTATION of the image to be ORIENTATION_NORMAL.

rotate

Added in 1.0.0
fun rotate(degree: Int): Unit

Rotates the image by the given degree clockwise. The degree should be a multiple of 90 (e.g, 90, 180, -90, etc.).

Parameters
degree: Int

The degree of rotation.

saveAttributes

Added in 1.0.0
fun saveAttributes(): Unit

Save the tag data into the original image file. This is expensive because it involves copying all the data from one file to another and deleting the old file and renaming the other. It's best to use setAttribute to set all attributes to write and make a single call rather than multiple calls for each attribute.

This method is supported for JPEG, PNG, and WebP formats.

Note: after calling this method, any attempts to obtain range information from getAttributeRange or getThumbnailRange will throw IllegalStateException, since the offsets may have changed in the newly written file.

For WebP format, the Exif data will be stored as an Extended File Format, and it may not be supported for older readers.

For PNG format, the Exif data will be stored as an "eXIf" chunk as per "Extensions to the PNG 1.2 Specification, Version 1.5.0".

setAltitude

Added in 1.0.0
fun setAltitude(altitude: Double): Unit

Sets the altitude in meters.

setAttribute

Added in 1.0.0
fun setAttribute(tag: String, value: String?): Unit

Sets the value of the specified tag.

Parameters
tag: String

the name of the tag.

value: String?

the value of the tag.

setGpsInfo

Added in 1.0.0
fun setGpsInfo(location: Location?): Unit

Sets the GPS-related information. It will set GPS processing method, latitude and longitude values, GPS timestamp, and speed information at the same time. This method is a No-Op if the location parameter is null.

Parameters
location: Location?

the Location object returned by GPS service.

setLatLong

Added in 1.0.0
fun setLatLong(latitude: Double, longitude: Double): Unit

Sets the latitude and longitude values.

Parameters
latitude: Double

the decimal value of latitude. Must be a valid double value between -90.0 and 90.0.

longitude: Double

the decimal value of longitude. Must be a valid double value between -180.0 and 180.0.

Throws
java.lang.IllegalArgumentException

If latitude or longitude is outside the specified range.