ExifInterface


public 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

static final short

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

static final short

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

static final int[]

The constant used by TAG_BITS_PER_SAMPLE.

static final int[]

The constant used by TAG_BITS_PER_SAMPLE.

static final int[]

The constant used by TAG_BITS_PER_SAMPLE.

static final int

The constant used by TAG_COLOR_SPACE to denote sRGB color space.

static final int

The constant used by TAG_COLOR_SPACE to denote Uncalibrated.

static final short

The constant used by TAG_CONTRAST to denote hard contrast.

static final short

The constant used by TAG_CONTRAST to denote normal contrast.

static final short

The constant used by TAG_CONTRAST to denote soft contrast.

static final int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0.

static final int

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

static final int

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

static final int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0.

static final int

The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0.

static final int

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

static final int

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

The constant used by TAG_PLANAR_CONFIGURATION to denote Chunky format.

static final short

The constant used by TAG_PLANAR_CONFIGURATION to denote Planar format.

static final short

The constant used by TAG_GAIN_CONTROL to denote high gain down.

static final short

The constant used by TAG_GAIN_CONTROL to denote high gain up.

static final short

The constant used by TAG_GAIN_CONTROL to denote low gain down.

static final short

The constant used by TAG_GAIN_CONTROL to denote low gain up.

static final short

The constant used by TAG_GAIN_CONTROL to denote none gain adjustment.

static final String

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

static final String

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

static final String

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

static final String

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

static final String

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

static final String

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

static final String

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

static final short

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

static final String

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

static final String

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

static final short

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

static final String

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

static final String

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

static final String

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

static final String

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

static final String

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final String

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

static final String

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final int

Indicates the image is left right reversed mirror.

static final int

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

static final int
static final int

Indicates the image is rotated by 180 degree clockwise.

static final int

Indicates the image is rotated by 270 degree clockwise.

static final int

Indicates the image is rotated by 90 degree clockwise.

static final 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.

static final 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.

static final int
static final int

The constant used by TAG_NEW_SUBFILE_TYPE.

static final int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

static final int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

static final int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

static final int

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

static final int

The constant used by TAG_NEW_SUBFILE_TYPE.

static final short

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

static final short

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

static final short

The constant used to denote resolution unit as centimeters.

static final short

The constant used to denote resolution unit as inches.

static final short

The constant used by TAG_SHARPNESS to denote high saturation.

static final short

The constant used by TAG_SATURATION to denote low saturation.

static final short

The constant used by TAG_SATURATION to denote normal saturation.

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final 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.

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

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

static final short

The constant used by TAG_SHARPNESS to denote hard sharpness.

static final short

The constant used by TAG_SHARPNESS to denote normal sharpness.

static final short

The constant used by TAG_SHARPNESS to denote soft sharpness.

static final int

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

static final int

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

static final short

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

static final short

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

static final short

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

static final short

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

static final String
TAG_APERTURE_VALUE = "ApertureValue"

The lens aperture.

static final String
TAG_ARTIST = "Artist"

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

static final String
TAG_BITS_PER_SAMPLE = "BitsPerSample"

The number of bits per image component.

static final 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.

static final String
TAG_BRIGHTNESS_VALUE = "BrightnessValue"

The value of brightness.

static final String
TAG_CAMARA_OWNER_NAME = "CameraOwnerName"

This field is deprecated.

Use TAG_CAMERA_OWNER_NAME instead.

static final String
TAG_CAMERA_OWNER_NAME = "CameraOwnerName"

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

static final 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.

static final String
TAG_COLOR_SPACE = "ColorSpace"

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

static final String
TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration"

Information specific to compressed data.

static final String
TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel"

Information specific to compressed data.

static final String
TAG_COMPRESSION = "Compression"

The compression scheme used for the image data.

static final String
TAG_CONTRAST = "Contrast"

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

static final String
TAG_COPYRIGHT = "Copyright"

Copyright information.

static final String
TAG_CUSTOM_RENDERED = "CustomRendered"

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

static final String
TAG_DATETIME = "DateTime"

The date and time of image creation.

static final String
TAG_DATETIME_DIGITIZED = "DateTimeDigitized"

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

static final String
TAG_DATETIME_ORIGINAL = "DateTimeOriginal"

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

static final String
TAG_DEFAULT_CROP_SIZE = "DefaultCropSize"

Type is int.

static final String
TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription"

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

static final String
TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio"

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

static final String
TAG_DNG_VERSION = "DNGVersion"

Type is int.

static final String
TAG_EXIF_VERSION = "ExifVersion"

The version of this standard supported.

static final String
TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue"

The exposure bias.

static final String
TAG_EXPOSURE_INDEX = "ExposureIndex"

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

static final String
TAG_EXPOSURE_MODE = "ExposureMode"

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

static final String
TAG_EXPOSURE_PROGRAM = "ExposureProgram"

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

static final String
TAG_EXPOSURE_TIME = "ExposureTime"

Exposure time, given in seconds.

static final String
TAG_FILE_SOURCE = "FileSource"

Indicates the image source.

static final String
TAG_FLASH = "Flash"

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

static final String
TAG_FLASHPIX_VERSION = "FlashpixVersion"

The Flashpix format version supported by a FPXR file.

static final String
TAG_FLASH_ENERGY = "FlashEnergy"

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

static final String
TAG_FOCAL_LENGTH = "FocalLength"

The actual focal length of the lens, in mm.

static final String
TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm"

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

static final String
TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit"

Indicates the unit for measuring TAG_FOCAL_PLANE_X_RESOLUTION and TAG_FOCAL_PLANE_Y_RESOLUTION.

static final 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.

static final 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.

static final String
TAG_F_NUMBER = "FNumber"

The F number.

static final String
TAG_GAIN_CONTROL = "GainControl"

This tag indicates the degree of overall image gain adjustment.

static final String
TAG_GAMMA = "Gamma"

Indicates the value of coefficient gamma.

static final String
TAG_GPS_ALTITUDE = "GPSAltitude"

Indicates the altitude based on the reference in TAG_GPS_ALTITUDE_REF.

static final String
TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef"

Indicates the altitude used as the reference altitude.

static final String
TAG_GPS_AREA_INFORMATION = "GPSAreaInformation"

A character string recording the name of the GPS area.

static final String
TAG_GPS_DATESTAMP = "GPSDateStamp"

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

static final String
TAG_GPS_DEST_BEARING = "GPSDestBearing"

Indicates the bearing to the destination point.

static final String
TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef"

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

static final String
TAG_GPS_DEST_DISTANCE = "GPSDestDistance"

Indicates the distance to the destination point.

static final String
TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef"

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

static final String
TAG_GPS_DEST_LATITUDE = "GPSDestLatitude"

Indicates the latitude of the destination point.

static final String
TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef"

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

static final String
TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude"

Indicates the longitude of the destination point.

static final String
TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef"

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

static final String
TAG_GPS_DIFFERENTIAL = "GPSDifferential"

Indicates whether differential correction is applied to the GPS receiver.

static final String
TAG_GPS_DOP = "GPSDOP"

Indicates the GPS DOP (data degree of precision).

static final String
TAG_GPS_H_POSITIONING_ERROR = "GPSHPositioningError"

This tag indicates horizontal positioning errors in meters.

static final String
TAG_GPS_IMG_DIRECTION = "GPSImgDirection"

ndicates the direction of the image when it was captured.

static final String
TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef"

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

static final String
TAG_GPS_LATITUDE = "GPSLatitude"

Indicates the latitude.

static final String
TAG_GPS_LATITUDE_REF = "GPSLatitudeRef"

Indicates whether the latitude is north or south latitude.

static final String
TAG_GPS_LONGITUDE = "GPSLongitude"

Indicates the longitude.

static final String
TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef"

Indicates whether the longitude is east or west longitude.

static final String
TAG_GPS_MAP_DATUM = "GPSMapDatum"

Indicates the geodetic survey data used by the GPS receiver.

static final String
TAG_GPS_MEASURE_MODE = "GPSMeasureMode"

Indicates the GPS measurement mode.

static final String
TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod"

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

static final String
TAG_GPS_SATELLITES = "GPSSatellites"

Indicates the GPS satellites used for measurements.

static final String
TAG_GPS_SPEED = "GPSSpeed"

Indicates the speed of GPS receiver movement.

static final String
TAG_GPS_SPEED_REF = "GPSSpeedRef"

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

static final 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.

static final String
TAG_GPS_TIMESTAMP = "GPSTimeStamp"

Indicates the time as UTC (Coordinated Universal Time).

static final String
TAG_GPS_TRACK = "GPSTrack"

Indicates the direction of GPS receiver movement.

static final String
TAG_GPS_TRACK_REF = "GPSTrackRef"

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

static final String
TAG_GPS_VERSION_ID = "GPSVersionID"

Indicates the version of GPS Info IFD.

static final String
TAG_IMAGE_DESCRIPTION = "ImageDescription"

An ASCII string giving the title of the image.

static final String
TAG_IMAGE_LENGTH = "ImageLength"

The number of rows of image data.

static final String
TAG_IMAGE_UNIQUE_ID = "ImageUniqueID"

This tag indicates an identifier assigned uniquely to each image.

static final String
TAG_IMAGE_WIDTH = "ImageWidth"

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

static final String
TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex"

Indicates the identification of the Interoperability rule.

static final String
TAG_ISO_SPEED = "ISOSpeed"

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

static final 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.

static final 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.

static final String
TAG_ISO_SPEED_RATINGS = "ISOSpeedRatings"

This field is deprecated.

Use TAG_PHOTOGRAPHIC_SENSITIVITY instead.

static final String
TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat"

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

static final String
TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength"

The number of bytes of JPEG compressed thumbnail data.

static final String
TAG_LENS_MAKE = "LensMake"

This tag records the lens manufacturer as an ASCII string.

static final String
TAG_LENS_MODEL = "LensModel"

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

static final 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.

static final 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.

static final String
TAG_LIGHT_SOURCE = "LightSource"

The kind of light source.

static final String
TAG_MAKE = "Make"

The manufacturer of the recording equipment.

static final String
TAG_MAKER_NOTE = "MakerNote"

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

static final String
TAG_MAX_APERTURE_VALUE = "MaxApertureValue"

The smallest F number of the lens.

static final String
TAG_METERING_MODE = "MeteringMode"

The metering mode.

static final String
TAG_MODEL = "Model"

The model name or model number of the equipment.

static final String
TAG_NEW_SUBFILE_TYPE = "NewSubfileType"

Type is int.

static final String
TAG_OECF = "OECF"

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

static final 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.

static final 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.

static final 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.

static final String
TAG_ORF_ASPECT_FRAME = "AspectFrame"

Type is int.

static final String
TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength"

Type is int.

static final String
TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart"

Type is int.

static final String
TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage"

Type is undefined.

static final String
TAG_ORIENTATION = "Orientation"

The image orientation viewed in terms of rows and columns.

static final String
TAG_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity"

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

static final String
TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation"

The pixel composition.

static final String
TAG_PIXEL_X_DIMENSION = "PixelXDimension"

Information specific to compressed data.

static final String
TAG_PIXEL_Y_DIMENSION = "PixelYDimension"

Information specific to compressed data.

static final String
TAG_PLANAR_CONFIGURATION = "PlanarConfiguration"

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

static final String
TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities"

The chromaticity of the three primary colors of the image.

static final String
TAG_RECOMMENDED_EXPOSURE_INDEX = "RecommendedExposureIndex"

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

static final String
TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite"

The reference black point value and reference white point value.

static final String
TAG_RELATED_SOUND_FILE = "RelatedSoundFile"

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

static final String
TAG_RESOLUTION_UNIT = "ResolutionUnit"

The unit for measuring TAG_X_RESOLUTION and TAG_Y_RESOLUTION.

static final String
TAG_ROWS_PER_STRIP = "RowsPerStrip"

The number of rows per strip.

static final String
TAG_RW2_ISO = "ISO"

Type is int.

static final String
TAG_RW2_JPG_FROM_RAW = "JpgFromRaw"

Type is undefined.

static final String
TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder"

Type is int.

static final String
TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder"

Type is int.

static final String
TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder"

Type is int.

static final String
TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder"

Type is int.

static final String
TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel"

The number of components per pixel.

static final String
TAG_SATURATION = "Saturation"

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

static final String
TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType"

This tag indicates the type of scene that was shot.

static final String
TAG_SCENE_TYPE = "SceneType"

Indicates the type of scene.

static final String
TAG_SENSING_METHOD = "SensingMethod"

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

static final String
TAG_SENSITIVITY_TYPE = "SensitivityType"

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

static final String
TAG_SHARPNESS = "Sharpness"

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

static final String
TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue"

Shutter speed.

static final 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.

static final 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.

static final String
TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity"

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

static final String
TAG_STANDARD_OUTPUT_SENSITIVITY = "StandardOutputSensitivity"

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

static final String
TAG_STRIP_BYTE_COUNTS = "StripByteCounts"

The total number of bytes in each strip.

static final String
TAG_STRIP_OFFSETS = "StripOffsets"

For each strip, the byte offset of that strip.

static final String
TAG_SUBFILE_TYPE = "SubfileType"

Type is int.

static final String
TAG_SUBJECT_AREA = "SubjectArea"

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

static final String
TAG_SUBJECT_DISTANCE = "SubjectDistance"

The distance to the subject, given in meters.

static final String
TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange"

This tag indicates the distance to the subject.

static final String
TAG_SUBJECT_LOCATION = "SubjectLocation"

Indicates the location of the main subject in the scene.

static final String
TAG_SUBSEC_TIME = "SubSecTime"

A tag used to record fractions of seconds for TAG_DATETIME.

static final String
TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized"

A tag used to record fractions of seconds for TAG_DATETIME_DIGITIZED.

static final String
TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal"

A tag used to record fractions of seconds for TAG_DATETIME_ORIGINAL.

static final String
TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength"
static final String
TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth"
static final String
TAG_TRANSFER_FUNCTION = "TransferFunction"

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

static final 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.

static final String
TAG_WHITE_BALANCE = "WhiteBalance"

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

static final String
TAG_WHITE_POINT = "WhitePoint"

The chromaticity of the white point of the image.

static final String
TAG_XMP = "Xmp"

Type is byte[].

static final String
TAG_X_RESOLUTION = "XResolution"

The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction.

static final String
TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients"

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

static final String
TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning"

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

static final String
TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling"

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

static final String
TAG_Y_RESOLUTION = "YResolution"

The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction.

static final int

This field is deprecated.

Use WHITE_BALANCE_AUTO instead.

static final int

This field is deprecated.

Use WHITE_BALANCE_MANUAL instead.

static final short

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

static final short

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

static final short

The constant used by TAG_Y_CB_CR_POSITIONING to denote Centered positioning.

static final short

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

Public constructors

Reads Exif tags from the specified image file descriptor.

Reads Exif tags from the specified image file.

Reads Exif tags from the specified image file.

Reads Exif tags from the specified image input stream.

ExifInterface(@NonNull InputStream inputStream, int streamType)

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

Public methods

void

Flips the image horizontally.

void

Flips the image vertically.

double
getAltitude(double defaultValue)

Return the altitude in meters.

@Nullable String

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

@Nullable 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(@NonNull String tag, double defaultValue)

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

int
getAttributeInt(@NonNull String tag, int defaultValue)

Returns the integer value of the specified tag.

@Nullable long[]

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

@Nullable Long

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

@Nullable double[]

Gets the latitude and longitude values.

boolean
getLatLong(float[] output)

This method is deprecated.

Use getLatLong instead.

int

Returns the rotation degrees for the current image orientation.

@Nullable byte[]

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

@Nullable 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.

@Nullable byte[]

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

@Nullable 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.

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.

void

Resets the TAG_ORIENTATION of the image to be ORIENTATION_NORMAL.

void
rotate(int degree)

Rotates the image by the given degree clockwise.

void

Save the tag data into the original image file.

void
setAltitude(double altitude)

Sets the altitude in meters.

void

Sets the value of the specified tag.

void

Sets the GPS-related information.

void
setLatLong(double latitude, double longitude)

Sets the latitude and longitude values.

Constants

ALTITUDE_ABOVE_SEA_LEVEL

Added in 1.0.0
public static final short ALTITUDE_ABOVE_SEA_LEVEL = 0

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
public static final short ALTITUDE_BELOW_SEA_LEVEL = 1

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
public static final int[] BITS_PER_SAMPLE_GREYSCALE_1

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
public static final int[] BITS_PER_SAMPLE_GREYSCALE_2

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
public static final int[] BITS_PER_SAMPLE_RGB

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
public static final int COLOR_SPACE_S_RGB = 1

The constant used by TAG_COLOR_SPACE to denote sRGB color space.

COLOR_SPACE_UNCALIBRATED

Added in 1.0.0
public static final int COLOR_SPACE_UNCALIBRATED = 65535

The constant used by TAG_COLOR_SPACE to denote Uncalibrated.

CONTRAST_HARD

Added in 1.0.0
public static final short CONTRAST_HARD = 2

The constant used by TAG_CONTRAST to denote hard contrast.

CONTRAST_NORMAL

Added in 1.0.0
public static final short CONTRAST_NORMAL = 0

The constant used by TAG_CONTRAST to denote normal contrast.

CONTRAST_SOFT

Added in 1.0.0
public static final short CONTRAST_SOFT = 1

The constant used by TAG_CONTRAST to denote soft contrast.

DATA_DEFLATE_ZIP

Added in 1.0.0
public static final int DATA_DEFLATE_ZIP = 8

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

DATA_HUFFMAN_COMPRESSED

Added in 1.0.0
public static final int DATA_HUFFMAN_COMPRESSED = 2

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

DATA_JPEG

Added in 1.0.0
public static final int DATA_JPEG = 6

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

DATA_JPEG_COMPRESSED

Added in 1.0.0
public static final int DATA_JPEG_COMPRESSED = 7

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

DATA_LOSSY_JPEG

Added in 1.0.0
public static final int DATA_LOSSY_JPEG = 34892

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
public static final int DATA_PACK_BITS_COMPRESSED = 32773

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

DATA_UNCOMPRESSED

Added in 1.0.0
public static final int DATA_UNCOMPRESSED = 1

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

EXPOSURE_MODE_AUTO

Added in 1.0.0
public static final short EXPOSURE_MODE_AUTO = 0

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

EXPOSURE_MODE_AUTO_BRACKET

Added in 1.0.0
public static final short EXPOSURE_MODE_AUTO_BRACKET = 2

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

EXPOSURE_MODE_MANUAL

Added in 1.0.0
public static final short EXPOSURE_MODE_MANUAL = 1

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

EXPOSURE_PROGRAM_ACTION

Added in 1.0.0
public static final short EXPOSURE_PROGRAM_ACTION = 6

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
public static final short EXPOSURE_PROGRAM_APERTURE_PRIORITY = 3

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

EXPOSURE_PROGRAM_CREATIVE

Added in 1.0.0
public static final short EXPOSURE_PROGRAM_CREATIVE = 5

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
public static final short EXPOSURE_PROGRAM_LANDSCAPE_MODE = 8

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
public static final short EXPOSURE_PROGRAM_MANUAL = 1

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

EXPOSURE_PROGRAM_NORMAL

Added in 1.0.0
public static final short EXPOSURE_PROGRAM_NORMAL = 2

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

EXPOSURE_PROGRAM_NOT_DEFINED

Added in 1.0.0
public static final short EXPOSURE_PROGRAM_NOT_DEFINED = 0

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

EXPOSURE_PROGRAM_PORTRAIT_MODE

Added in 1.0.0
public static final short EXPOSURE_PROGRAM_PORTRAIT_MODE = 7

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
public static final short EXPOSURE_PROGRAM_SHUTTER_PRIORITY = 4

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

FILE_SOURCE_DSC

Added in 1.0.0
public static final short FILE_SOURCE_DSC = 3

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

FILE_SOURCE_OTHER

Added in 1.0.0
public static final short FILE_SOURCE_OTHER = 0

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

FILE_SOURCE_REFLEX_SCANNER

Added in 1.0.0
public static final short FILE_SOURCE_REFLEX_SCANNER = 2

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
public static final short FILE_SOURCE_TRANSPARENT_SCANNER = 1

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

FLAG_FLASH_FIRED

Added in 1.0.0
public static final short FLAG_FLASH_FIRED = 1

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

FLAG_FLASH_MODE_AUTO

Added in 1.0.0
public static final short FLAG_FLASH_MODE_AUTO = 24

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
public static final short FLAG_FLASH_MODE_COMPULSORY_FIRING = 8

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
public static final short FLAG_FLASH_MODE_COMPULSORY_SUPPRESSION = 16

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
public static final short FLAG_FLASH_NO_FLASH_FUNCTION = 32

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

FLAG_FLASH_RED_EYE_SUPPORTED

Added in 1.0.0
public static final short FLAG_FLASH_RED_EYE_SUPPORTED = 64

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

FLAG_FLASH_RETURN_LIGHT_DETECTED

Added in 1.0.0
public static final short FLAG_FLASH_RETURN_LIGHT_DETECTED = 6

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

FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED

Added in 1.0.0
public static final short FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED = 4

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

FORMAT_CHUNKY

Added in 1.0.0
public static final short FORMAT_CHUNKY = 1

The constant used by TAG_PLANAR_CONFIGURATION to denote Chunky format.

FORMAT_PLANAR

Added in 1.0.0
public static final short FORMAT_PLANAR = 2

The constant used by TAG_PLANAR_CONFIGURATION to denote Planar format.

GAIN_CONTROL_HIGH_GAIN_DOWN

Added in 1.0.0
public static final short GAIN_CONTROL_HIGH_GAIN_DOWN = 4

The constant used by TAG_GAIN_CONTROL to denote high gain down.

GAIN_CONTROL_HIGH_GAIN_UP

Added in 1.0.0
public static final short GAIN_CONTROL_HIGH_GAIN_UP = 2

The constant used by TAG_GAIN_CONTROL to denote high gain up.

GAIN_CONTROL_LOW_GAIN_DOWN

Added in 1.0.0
public static final short GAIN_CONTROL_LOW_GAIN_DOWN = 3

The constant used by TAG_GAIN_CONTROL to denote low gain down.

GAIN_CONTROL_LOW_GAIN_UP

Added in 1.0.0
public static final short GAIN_CONTROL_LOW_GAIN_UP = 1

The constant used by TAG_GAIN_CONTROL to denote low gain up.

GAIN_CONTROL_NONE

Added in 1.0.0
public static final short GAIN_CONTROL_NONE = 0

The constant used by TAG_GAIN_CONTROL to denote none gain adjustment.

GPS_DIRECTION_MAGNETIC

Added in 1.0.0
public static final String GPS_DIRECTION_MAGNETIC = "M"

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

GPS_DIRECTION_TRUE

Added in 1.0.0
public static final String GPS_DIRECTION_TRUE = "T"

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

GPS_DISTANCE_KILOMETERS

Added in 1.0.0
public static final String GPS_DISTANCE_KILOMETERS = "K"

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

GPS_DISTANCE_MILES

Added in 1.0.0
public static final String GPS_DISTANCE_MILES = "M"

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
public static final String GPS_DISTANCE_NAUTICAL_MILES = "N"

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
public static final String GPS_MEASUREMENT_2D = "2"

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

GPS_MEASUREMENT_3D

Added in 1.0.0
public static final String GPS_MEASUREMENT_3D = "3"

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

GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED

Added in 1.0.0
public static final short GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED = 1

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

GPS_MEASUREMENT_INTERRUPTED

Added in 1.0.0
public static final String GPS_MEASUREMENT_INTERRUPTED = "V"

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

GPS_MEASUREMENT_IN_PROGRESS

Added in 1.0.0
public static final String GPS_MEASUREMENT_IN_PROGRESS = "A"

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

GPS_MEASUREMENT_NO_DIFFERENTIAL

Added in 1.0.0
public static final short GPS_MEASUREMENT_NO_DIFFERENTIAL = 0

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

GPS_SPEED_KILOMETERS_PER_HOUR

Added in 1.0.0
public static final String GPS_SPEED_KILOMETERS_PER_HOUR = "K"

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
public static final String GPS_SPEED_KNOTS = "N"

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
public static final String GPS_SPEED_MILES_PER_HOUR = "M"

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

LATITUDE_NORTH

Added in 1.0.0
public static final String LATITUDE_NORTH = "N"

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

LATITUDE_SOUTH

Added in 1.0.0
public static final String LATITUDE_SOUTH = "S"

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

LIGHT_SOURCE_CLOUDY_WEATHER

Added in 1.0.0
public static final short LIGHT_SOURCE_CLOUDY_WEATHER = 10

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

LIGHT_SOURCE_COOL_WHITE_FLUORESCENT

Added in 1.0.0
public static final short LIGHT_SOURCE_COOL_WHITE_FLUORESCENT = 14

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
public static final short LIGHT_SOURCE_D50 = 23

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

LIGHT_SOURCE_D55

Added in 1.0.0
public static final short LIGHT_SOURCE_D55 = 20

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

LIGHT_SOURCE_D65

Added in 1.0.0
public static final short LIGHT_SOURCE_D65 = 21

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

LIGHT_SOURCE_D75

Added in 1.0.0
public static final short LIGHT_SOURCE_D75 = 22

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

LIGHT_SOURCE_DAYLIGHT

Added in 1.0.0
public static final short LIGHT_SOURCE_DAYLIGHT = 1

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

LIGHT_SOURCE_DAYLIGHT_FLUORESCENT

Added in 1.0.0
public static final short LIGHT_SOURCE_DAYLIGHT_FLUORESCENT = 12

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
public static final short LIGHT_SOURCE_DAY_WHITE_FLUORESCENT = 13

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
public static final short LIGHT_SOURCE_FINE_WEATHER = 9

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

LIGHT_SOURCE_FLASH

Added in 1.0.0
public static final short LIGHT_SOURCE_FLASH = 4

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

LIGHT_SOURCE_FLUORESCENT

Added in 1.0.0
public static final short LIGHT_SOURCE_FLUORESCENT = 2

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

LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN

Added in 1.0.0
public static final short LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN = 24

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

LIGHT_SOURCE_OTHER

Added in 1.0.0
public static final short LIGHT_SOURCE_OTHER = 255

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

LIGHT_SOURCE_SHADE

Added in 1.0.0
public static final short LIGHT_SOURCE_SHADE = 11

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

LIGHT_SOURCE_STANDARD_LIGHT_A

Added in 1.0.0
public static final short LIGHT_SOURCE_STANDARD_LIGHT_A = 17

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
public static final short LIGHT_SOURCE_STANDARD_LIGHT_B = 18

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
public static final short LIGHT_SOURCE_STANDARD_LIGHT_C = 19

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

LIGHT_SOURCE_TUNGSTEN

Added in 1.0.0
public static final short LIGHT_SOURCE_TUNGSTEN = 3

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

LIGHT_SOURCE_UNKNOWN

Added in 1.0.0
public static final short LIGHT_SOURCE_UNKNOWN = 0

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

LIGHT_SOURCE_WARM_WHITE_FLUORESCENT

Added in 1.0.0
public static final short LIGHT_SOURCE_WARM_WHITE_FLUORESCENT = 16

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
public static final short LIGHT_SOURCE_WHITE_FLUORESCENT = 15

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

LONGITUDE_EAST

Added in 1.0.0
public static final String LONGITUDE_EAST = "E"

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

LONGITUDE_WEST

Added in 1.0.0
public static final String LONGITUDE_WEST = "W"

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

METERING_MODE_AVERAGE

Added in 1.0.0
public static final short METERING_MODE_AVERAGE = 1

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

METERING_MODE_CENTER_WEIGHT_AVERAGE

Added in 1.0.0
public static final short METERING_MODE_CENTER_WEIGHT_AVERAGE = 2

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

METERING_MODE_MULTI_SPOT

Added in 1.0.0
public static final short METERING_MODE_MULTI_SPOT = 4

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

METERING_MODE_OTHER

Added in 1.0.0
public static final short METERING_MODE_OTHER = 255

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

METERING_MODE_PARTIAL

Added in 1.0.0
public static final short METERING_MODE_PARTIAL = 6

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

METERING_MODE_PATTERN

Added in 1.0.0
public static final short METERING_MODE_PATTERN = 5

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

METERING_MODE_SPOT

Added in 1.0.0
public static final short METERING_MODE_SPOT = 3

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

METERING_MODE_UNKNOWN

Added in 1.0.0
public static final short METERING_MODE_UNKNOWN = 0

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

ORIENTATION_FLIP_HORIZONTAL

Added in 1.0.0
public static final int ORIENTATION_FLIP_HORIZONTAL = 2

Indicates the image is left right reversed mirror.

ORIENTATION_FLIP_VERTICAL

Added in 1.0.0
public static final int ORIENTATION_FLIP_VERTICAL = 4

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
public static final int ORIENTATION_NORMAL = 1

ORIENTATION_ROTATE_180

Added in 1.0.0
public static final int ORIENTATION_ROTATE_180 = 3

Indicates the image is rotated by 180 degree clockwise.

ORIENTATION_ROTATE_270

Added in 1.0.0
public static final int ORIENTATION_ROTATE_270 = 8

Indicates the image is rotated by 270 degree clockwise.

ORIENTATION_ROTATE_90

Added in 1.0.0
public static final int ORIENTATION_ROTATE_90 = 6

Indicates the image is rotated by 90 degree clockwise.

ORIENTATION_TRANSPOSE

Added in 1.0.0
public static final int ORIENTATION_TRANSPOSE = 5

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
public static final int ORIENTATION_TRANSVERSE = 7

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
public static final int ORIENTATION_UNDEFINED = 0

ORIGINAL_RESOLUTION_IMAGE

Added in 1.0.0
public static final int ORIGINAL_RESOLUTION_IMAGE = 0

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
public static final int PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

PHOTOMETRIC_INTERPRETATION_RGB

Added in 1.0.0
public static final int PHOTOMETRIC_INTERPRETATION_RGB = 2

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO

Added in 1.0.0
public static final int PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

PHOTOMETRIC_INTERPRETATION_YCBCR

Added in 1.0.0
public static final int PHOTOMETRIC_INTERPRETATION_YCBCR = 6

The constant used by TAG_PHOTOMETRIC_INTERPRETATION.

REDUCED_RESOLUTION_IMAGE

Added in 1.0.0
public static final int REDUCED_RESOLUTION_IMAGE = 1

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

RENDERED_PROCESS_CUSTOM

Added in 1.0.0
public static final short RENDERED_PROCESS_CUSTOM = 1

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

RENDERED_PROCESS_NORMAL

Added in 1.0.0
public static final short RENDERED_PROCESS_NORMAL = 0

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

RESOLUTION_UNIT_CENTIMETERS

Added in 1.0.0
public static final short RESOLUTION_UNIT_CENTIMETERS = 3

The constant used to denote resolution unit as centimeters.

RESOLUTION_UNIT_INCHES

Added in 1.0.0
public static final short RESOLUTION_UNIT_INCHES = 2

The constant used to denote resolution unit as inches.

SATURATION_HIGH

Added in 1.0.0
public static final short SATURATION_HIGH = 0

The constant used by TAG_SHARPNESS to denote high saturation.

SATURATION_LOW

Added in 1.0.0
public static final short SATURATION_LOW = 0

The constant used by TAG_SATURATION to denote low saturation.

SATURATION_NORMAL

Added in 1.0.0
public static final short SATURATION_NORMAL = 0

The constant used by TAG_SATURATION to denote normal saturation.

SCENE_CAPTURE_TYPE_LANDSCAPE

Added in 1.0.0
public static final short SCENE_CAPTURE_TYPE_LANDSCAPE = 1

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
public static final short SCENE_CAPTURE_TYPE_NIGHT = 3

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
public static final short SCENE_CAPTURE_TYPE_PORTRAIT = 2

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
public static final short SCENE_CAPTURE_TYPE_STANDARD = 0

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
public static final short SCENE_TYPE_DIRECTLY_PHOTOGRAPHED = 1

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

SENSITIVITY_TYPE_ISO_SPEED

Added in 1.0.0
public static final short SENSITIVITY_TYPE_ISO_SPEED = 3

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

SENSITIVITY_TYPE_REI

Added in 1.0.0
public static final short SENSITIVITY_TYPE_REI = 2

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
public static final short SENSITIVITY_TYPE_REI_AND_ISO = 6

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
public static final short SENSITIVITY_TYPE_SOS = 1

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
public static final short SENSITIVITY_TYPE_SOS_AND_ISO = 5

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
public static final short SENSITIVITY_TYPE_SOS_AND_REI = 4

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
public static final short SENSITIVITY_TYPE_SOS_AND_REI_AND_ISO = 7

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
public static final short SENSITIVITY_TYPE_UNKNOWN = 0

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

SENSOR_TYPE_COLOR_SEQUENTIAL

Added in 1.0.0
public static final short SENSOR_TYPE_COLOR_SEQUENTIAL = 5

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
public static final short SENSOR_TYPE_COLOR_SEQUENTIAL_LINEAR = 8

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
public static final short SENSOR_TYPE_NOT_DEFINED = 1

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
public static final short SENSOR_TYPE_ONE_CHIP = 2

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
public static final short SENSOR_TYPE_THREE_CHIP = 4

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
public static final short SENSOR_TYPE_TRILINEAR = 7

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
public static final short SENSOR_TYPE_TWO_CHIP = 3

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
public static final short SHARPNESS_HARD = 2

The constant used by TAG_SHARPNESS to denote hard sharpness.

SHARPNESS_NORMAL

Added in 1.0.0
public static final short SHARPNESS_NORMAL = 0

The constant used by TAG_SHARPNESS to denote normal sharpness.

SHARPNESS_SOFT

Added in 1.0.0
public static final short SHARPNESS_SOFT = 1

The constant used by TAG_SHARPNESS to denote soft sharpness.

STREAM_TYPE_EXIF_DATA_ONLY

Added in 1.2.0
public static final int STREAM_TYPE_EXIF_DATA_ONLY = 1

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
public static final int STREAM_TYPE_FULL_IMAGE_DATA = 0

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
public static final short SUBJECT_DISTANCE_RANGE_CLOSE_VIEW = 2

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
public static final short SUBJECT_DISTANCE_RANGE_DISTANT_VIEW = 3

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
public static final short SUBJECT_DISTANCE_RANGE_MACRO = 1

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
public static final short SUBJECT_DISTANCE_RANGE_UNKNOWN = 0

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

TAG_APERTURE_VALUE

Added in 1.0.0
public static final String TAG_APERTURE_VALUE = "ApertureValue"

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
public static final String TAG_ARTIST = "Artist"

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
public static final String TAG_BITS_PER_SAMPLE = "BitsPerSample"

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
public static final 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.

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

TAG_BRIGHTNESS_VALUE

Added in 1.0.0
public static final String TAG_BRIGHTNESS_VALUE = "BrightnessValue"

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
public static final String TAG_CAMARA_OWNER_NAME = "CameraOwnerName"

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
public static final String TAG_CAMERA_OWNER_NAME = "CameraOwnerName"

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
public static final 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. It does not apply to all sensing methods.

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

TAG_COLOR_SPACE

Added in 1.0.0
public static final String TAG_COLOR_SPACE = "ColorSpace"

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
public static final String TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration"

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
public static final String TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel"

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
public static final String TAG_COMPRESSION = "Compression"

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
public static final String TAG_CONTRAST = "Contrast"

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

TAG_COPYRIGHT

Added in 1.0.0
public static final String TAG_COPYRIGHT = "Copyright"

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
public static final String TAG_CUSTOM_RENDERED = "CustomRendered"

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
public static final String TAG_DATETIME = "DateTime"

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
public static final String TAG_DATETIME_DIGITIZED = "DateTimeDigitized"

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
public static final String TAG_DATETIME_ORIGINAL = "DateTimeOriginal"

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
public static final String TAG_DEFAULT_CROP_SIZE = "DefaultCropSize"

Type is int. DNG Specification 1.4.0.0. Section 4

TAG_DEVICE_SETTING_DESCRIPTION

Added in 1.0.0
public static final String TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription"

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
public static final String TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio"

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
public static final String TAG_DNG_VERSION = "DNGVersion"

Type is int. DNG Specification 1.4.0.0. Section 4

TAG_EXIF_VERSION

Added in 1.0.0
public static final String TAG_EXIF_VERSION = "ExifVersion"

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
public static final String TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue"

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
public static final String TAG_EXPOSURE_INDEX = "ExposureIndex"

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
public static final String TAG_EXPOSURE_MODE = "ExposureMode"

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
public static final String TAG_EXPOSURE_PROGRAM = "ExposureProgram"

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
public static final String TAG_EXPOSURE_TIME = "ExposureTime"

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
public static final String TAG_FILE_SOURCE = "FileSource"

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
public static final String TAG_FLASH = "Flash"

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
public static final String TAG_FLASHPIX_VERSION = "FlashpixVersion"

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
public static final String TAG_FLASH_ENERGY = "FlashEnergy"

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
public static final String TAG_FOCAL_LENGTH = "FocalLength"

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
public static final String TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm"

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
public static final String TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit"

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
public static final 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.

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

TAG_FOCAL_PLANE_Y_RESOLUTION

Added in 1.0.0
public static final 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.

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

TAG_F_NUMBER

Added in 1.0.0
public static final String TAG_F_NUMBER = "FNumber"

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
public static final String TAG_GAIN_CONTROL = "GainControl"

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
public static final String TAG_GAMMA = "Gamma"

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
public static final String TAG_GPS_ALTITUDE = "GPSAltitude"

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
public static final String TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef"

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
public static final String TAG_GPS_AREA_INFORMATION = "GPSAreaInformation"

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
public static final String TAG_GPS_DATESTAMP = "GPSDateStamp"

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
public static final String TAG_GPS_DEST_BEARING = "GPSDestBearing"

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
public static final String TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef"

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

TAG_GPS_DEST_DISTANCE

Added in 1.0.0
public static final String TAG_GPS_DEST_DISTANCE = "GPSDestDistance"

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
public static final String TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef"

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

TAG_GPS_DEST_LATITUDE

Added in 1.0.0
public static final String TAG_GPS_DEST_LATITUDE = "GPSDestLatitude"

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
public static final String TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef"

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
public static final String TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude"

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
public static final String TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef"

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
public static final String TAG_GPS_DIFFERENTIAL = "GPSDifferential"

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
public static final String TAG_GPS_DOP = "GPSDOP"

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
public static final String TAG_GPS_H_POSITIONING_ERROR = "GPSHPositioningError"

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
public static final String TAG_GPS_IMG_DIRECTION = "GPSImgDirection"

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
public static final String TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef"

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

TAG_GPS_LATITUDE

Added in 1.0.0
public static final String TAG_GPS_LATITUDE = "GPSLatitude"

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
public static final String TAG_GPS_LATITUDE_REF = "GPSLatitudeRef"

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
public static final String TAG_GPS_LONGITUDE = "GPSLongitude"

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
public static final String TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef"

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
public static final String TAG_GPS_MAP_DATUM = "GPSMapDatum"

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
public static final String TAG_GPS_MEASURE_MODE = "GPSMeasureMode"

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
public static final String TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod"

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
public static final String TAG_GPS_SATELLITES = "GPSSatellites"

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
public static final String TAG_GPS_SPEED = "GPSSpeed"

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
public static final String TAG_GPS_SPEED_REF = "GPSSpeedRef"

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

TAG_GPS_STATUS

Added in 1.0.0
public static final 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.

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

TAG_GPS_TIMESTAMP

Added in 1.0.0
public static final String TAG_GPS_TIMESTAMP = "GPSTimeStamp"

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
public static final String TAG_GPS_TRACK = "GPSTrack"

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
public static final String TAG_GPS_TRACK_REF = "GPSTrackRef"

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

TAG_GPS_VERSION_ID

Added in 1.0.0
public static final String TAG_GPS_VERSION_ID = "GPSVersionID"

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
public static final String TAG_IMAGE_DESCRIPTION = "ImageDescription"

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
public static final String TAG_IMAGE_LENGTH = "ImageLength"

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
public static final String TAG_IMAGE_UNIQUE_ID = "ImageUniqueID"

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
public static final String TAG_IMAGE_WIDTH = "ImageWidth"

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
public static final String TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex"

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
public static final String TAG_ISO_SPEED = "ISOSpeed"

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
public static final 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. 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
public static final 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. 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
public static final String TAG_ISO_SPEED_RATINGS = "ISOSpeedRatings"

TAG_JPEG_INTERCHANGE_FORMAT

Added in 1.0.0
public static final String TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat"

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
public static final String TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength"

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
public static final String TAG_LENS_MAKE = "LensMake"

This tag records the lens manufacturer as an ASCII string.

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

TAG_LENS_MODEL

Added in 1.0.0
public static final String TAG_LENS_MODEL = "LensModel"

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
public static final 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.

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

TAG_LENS_SPECIFICATION

Added in 1.0.0
public static final 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. 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
public static final String TAG_MAKE = "Make"

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
public static final String TAG_MAKER_NOTE = "MakerNote"

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
public static final String TAG_MAX_APERTURE_VALUE = "MaxApertureValue"

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
public static final String TAG_METERING_MODE = "MeteringMode"

The metering mode.

TAG_MODEL

Added in 1.0.0
public static final String TAG_MODEL = "Model"

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
public static final String TAG_NEW_SUBFILE_TYPE = "NewSubfileType"

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

TAG_OECF

Added in 1.0.0
public static final String TAG_OECF = "OECF"

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
public static final 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. 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
public static final 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. 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
public static final 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. 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
public static final String TAG_ORF_ASPECT_FRAME = "AspectFrame"

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
public static final String TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength"

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
public static final String TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart"

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
public static final String TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage"

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

TAG_ORIENTATION

Added in 1.0.0
public static final String TAG_ORIENTATION = "Orientation"

The image orientation viewed in terms of rows and columns.

TAG_PHOTOGRAPHIC_SENSITIVITY

Added in 1.0.0
public static final String TAG_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity"

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
public static final String TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation"

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
public static final String TAG_PIXEL_X_DIMENSION = "PixelXDimension"

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
public static final String TAG_PIXEL_Y_DIMENSION = "PixelYDimension"

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
public static final String TAG_PLANAR_CONFIGURATION = "PlanarConfiguration"

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
public static final String TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities"

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
public static final String TAG_RECOMMENDED_EXPOSURE_INDEX = "RecommendedExposureIndex"

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
public static final String TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite"

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
public static final String TAG_RELATED_SOUND_FILE = "RelatedSoundFile"

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
public static final String TAG_RESOLUTION_UNIT = "ResolutionUnit"

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
public static final String TAG_ROWS_PER_STRIP = "RowsPerStrip"

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
public static final String TAG_RW2_ISO = "ISO"

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
public static final String TAG_RW2_JPG_FROM_RAW = "JpgFromRaw"

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
public static final String TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder"

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
public static final String TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder"

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
public static final String TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder"

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
public static final String TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder"

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
public static final String TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel"

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
public static final String TAG_SATURATION = "Saturation"

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
public static final String TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType"

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
public static final String TAG_SCENE_TYPE = "SceneType"

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
public static final String TAG_SENSING_METHOD = "SensingMethod"

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
public static final String TAG_SENSITIVITY_TYPE = "SensitivityType"

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
public static final String TAG_SHARPNESS = "Sharpness"

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
public static final String TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue"

Shutter speed. The unit is the APEX setting.

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

TAG_SOFTWARE

Added in 1.0.0
public static final 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. 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
public static final 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.

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

TAG_SPECTRAL_SENSITIVITY

Added in 1.0.0
public static final String TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity"

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
public static final String TAG_STANDARD_OUTPUT_SENSITIVITY = "StandardOutputSensitivity"

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
public static final String TAG_STRIP_BYTE_COUNTS = "StripByteCounts"

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
public static final String TAG_STRIP_OFFSETS = "StripOffsets"

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
public static final String TAG_SUBFILE_TYPE = "SubfileType"

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

TAG_SUBJECT_AREA

Added in 1.0.0
public static final String TAG_SUBJECT_AREA = "SubjectArea"

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
public static final String TAG_SUBJECT_DISTANCE = "SubjectDistance"

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
public static final String TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange"

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
public static final String TAG_SUBJECT_LOCATION = "SubjectLocation"

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
public static final String TAG_SUBSEC_TIME = "SubSecTime"

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
public static final String TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized"

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
public static final String TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal"

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
public static final String TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength"
See also
TAG_IMAGE_LENGTH

TAG_THUMBNAIL_IMAGE_WIDTH

Added in 1.0.0
public static final String TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth"
See also
TAG_IMAGE_WIDTH

TAG_TRANSFER_FUNCTION

Added in 1.0.0
public static final String TAG_TRANSFER_FUNCTION = "TransferFunction"

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
public static final 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.

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

TAG_WHITE_BALANCE

Added in 1.0.0
public static final String TAG_WHITE_BALANCE = "WhiteBalance"

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
public static final String TAG_WHITE_POINT = "WhitePoint"

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
public static final String TAG_XMP = "Xmp"

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
public static final String TAG_X_RESOLUTION = "XResolution"

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
public static final String TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients"

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
public static final String TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning"

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
public static final String TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling"

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
public static final String TAG_Y_RESOLUTION = "YResolution"

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
public static final int WHITEBALANCE_AUTO = 0

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
public static final int WHITEBALANCE_MANUAL = 1

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

WHITE_BALANCE_AUTO

Added in 1.0.0
public static final short WHITE_BALANCE_AUTO = 0

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

WHITE_BALANCE_MANUAL

Added in 1.0.0
public static final short WHITE_BALANCE_MANUAL = 1

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

Y_CB_CR_POSITIONING_CENTERED

Added in 1.0.0
public static final short Y_CB_CR_POSITIONING_CENTERED = 1

The constant used by TAG_Y_CB_CR_POSITIONING to denote Centered positioning.

Y_CB_CR_POSITIONING_CO_SITED

Added in 1.0.0
public static final short Y_CB_CR_POSITIONING_CO_SITED = 2

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

Public constructors

ExifInterface

Added in 1.1.0
public ExifInterface(@NonNull 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
@NonNull 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
public ExifInterface(@NonNull File file)

Reads Exif tags from the specified image file.

Parameters
@NonNull 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
public ExifInterface(@NonNull String filename)

Reads Exif tags from the specified image file.

Parameters
@NonNull String filename

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
public ExifInterface(@NonNull 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
@NonNull 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
public ExifInterface(@NonNull InputStream inputStream, int streamType)

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
@NonNull InputStream inputStream

the input stream that contains the image data

int streamType

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 methods

flipHorizontally

Added in 1.0.0
public void flipHorizontally()

Flips the image horizontally.

flipVertically

Added in 1.0.0
public void flipVertically()

Flips the image vertically.

getAltitude

Added in 1.0.0
public double getAltitude(double defaultValue)

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

Parameters
double defaultValue

the value to return if the tag is not available.

getAttribute

Added in 1.0.0
public @Nullable String getAttribute(@NonNull String tag)

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

Parameters
@NonNull String tag

the name of the tag.

getAttributeBytes

Added in 1.1.0
public @Nullable byte[] getAttributeBytes(@NonNull String tag)

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

Returns
@Nullable byte[]

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

getAttributeDouble

Added in 1.0.0
public double getAttributeDouble(@NonNull String tag, double defaultValue)

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
@NonNull String tag

the name of the tag.

double defaultValue

the value to return if the tag is not available.

getAttributeInt

Added in 1.0.0
public int getAttributeInt(@NonNull String tag, int defaultValue)

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
@NonNull String tag

the name of the tag.

int defaultValue

the value to return if the tag is not available.

getAttributeRange

Added in 1.1.0
public @Nullable long[] getAttributeRange(@NonNull String tag)

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

Returns
@Nullable 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
public @Nullable Long getGpsDateTime()

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

Returns
@Nullable Long

null if the date time information is not available.

getLatLong

Added in 1.0.0
public @Nullable double[] getLatLong()

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
public boolean getLatLong(float[] output)

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
public int getRotationDegrees()

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
public @Nullable byte[] getThumbnail()

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
public @Nullable Bitmap getThumbnailBitmap()

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
public @Nullable byte[] getThumbnailBytes()

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

getThumbnailRange

Added in 1.0.0
public @Nullable long[] getThumbnailRange()

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
@Nullable 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
public boolean hasAttribute(@NonNull String tag)

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

Parameters
@NonNull String tag

the name of the tag.

hasThumbnail

Added in 1.0.0
public boolean hasThumbnail()

Returns true if the image file has a thumbnail.

isFlipped

Added in 1.0.0
public boolean isFlipped()

Returns if the current image orientation is flipped.

isSupportedMimeType

Added in 1.2.0
public static boolean isSupportedMimeType(@NonNull String mimeType)

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

Parameters
@NonNull String mimeType

the string value of mime type

isThumbnailCompressed

Added in 1.0.0
public boolean isThumbnailCompressed()

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
public void resetOrientation()

Resets the TAG_ORIENTATION of the image to be ORIENTATION_NORMAL.

rotate

Added in 1.0.0
public void rotate(int degree)

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

Parameters
int degree

The degree of rotation.

saveAttributes

Added in 1.0.0
public void saveAttributes()

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
public void setAltitude(double altitude)

Sets the altitude in meters.

setAttribute

Added in 1.0.0
public void setAttribute(@NonNull String tag, @Nullable String value)

Sets the value of the specified tag.

Parameters
@NonNull String tag

the name of the tag.

@Nullable String value

the value of the tag.

setGpsInfo

Added in 1.0.0
public void setGpsInfo(@Nullable Location location)

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
@Nullable Location location

the Location object returned by GPS service.

setLatLong

Added in 1.0.0
public void setLatLong(double latitude, double longitude)

Sets the latitude and longitude values.

Parameters
double latitude

the decimal value of latitude. Must be a valid double value between -90.0 and 90.0.

double longitude

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.