ExifInterface
class ExifInterface
This is a class for reading and writing Exif tags in various image file formats.
Supported for reading: JPEG, PNG, WebP, HEIC, DNG, CR2, NEF, NRW, ARW, RW2, ORF, PEF, SRW, RAF, AVIF (on API 31+).
Supported for writing: JPEG, PNG, WebP.
XMP Support
This class can read raw XMP data from the supported image file formats.XMP data can be stored within Exif data (under tag 700), but many of the formats also define a separate storage location for XMP. ExifInterface handles this ambiguity as follows:
- JPEG
- The XMP spec part 3 section 3.3.2 forbids the XMP tag (700) being present in the Exif segment of JPEG files (i.e. XMP should always be in a separate APP1 segment).
- If XMP is present in both Exif and separate segments, the XMP from the Exif segment is returned from
getAttributeBytesand modifications to the XMP withsetAttributeare 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.
- HEIC &AVIF
- If XMP is present in both Exif and separate segments, the XMP from the separate segment is returned from
getAttributeBytes.
- If XMP is present in both Exif and separate segments, the XMP from the separate segment is returned from
Summary
Constants |
|
|---|---|
const Short |
The constant used by |
const Short |
The constant used by |
const IntArray<Int>! |
The constant used by |
const IntArray<Int>! |
The constant used by |
const IntArray<Int>! |
The constant used by |
const Int |
The constant used by |
const Int |
COLOR_SPACE_UNCALIBRATED = 65535The constant used by |
const Short |
CONTRAST_HARD = 2The constant used by |
const Short |
CONTRAST_NORMAL = 0The constant used by |
const Short |
CONTRAST_SOFT = 1The constant used by |
const Int |
DATA_DEFLATE_ZIP = 8The constant used by |
const Int |
The constant used by |
const Int |
DATA_JPEG = 6The constant used by |
const Int |
The constant used by |
const Int |
DATA_LOSSY_JPEG = 34892The constant used by |
const Int |
DATA_PACK_BITS_COMPRESSED = 32773The constant used by |
const Int |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
FILE_SOURCE_DSC = 3The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
FLAG_FLASH_FIRED = 1The flag used by |
const Short |
FLAG_FLASH_MODE_AUTO = 24The flag used by |
const Short |
The flag used by |
const Short |
The flag used by |
const Short |
The flag used by |
const Short |
The flag used by |
const Short |
The flag used by |
const Short |
The flag used by |
const Short |
FORMAT_CHUNKY = 1The constant used by |
const Short |
FORMAT_PLANAR = 2The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const String! |
GPS_DIRECTION_MAGNETIC = "M"The constant used by GPS attributes to denote the direction is magnetic direction. |
const String! |
GPS_DIRECTION_TRUE = "T"The constant used by GPS attributes to denote the direction is true direction. |
const String! |
GPS_DISTANCE_KILOMETERS = "K"The constant used by |
const String! |
GPS_DISTANCE_MILES = "M"The constant used by |
const String! |
The constant used by |
const String! |
GPS_MEASUREMENT_2D = "2"The constant used by |
const String! |
GPS_MEASUREMENT_3D = "3"The constant used by |
const Short |
The constant used by |
const String! |
The constant used by |
const String! |
The constant used by |
const Short |
The constant used by |
const String! |
The constant used by |
const String! |
GPS_SPEED_KNOTS = "N"The constant used by |
const String! |
GPS_SPEED_MILES_PER_HOUR = "M"The constant used by |
const String! |
LATITUDE_NORTH = "N"The constant used by GPS latitude-related tags to denote the latitude is North latitude. |
const String! |
LATITUDE_SOUTH = "S"The constant used by GPS latitude-related tags to denote the latitude is South latitude. |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
LIGHT_SOURCE_D50 = 23The constant used by |
const Short |
LIGHT_SOURCE_D55 = 20The constant used by |
const Short |
LIGHT_SOURCE_D65 = 21The constant used by |
const Short |
LIGHT_SOURCE_D75 = 22The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
LIGHT_SOURCE_OTHER = 255The constant used by |
const Short |
LIGHT_SOURCE_SHADE = 11The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const String! |
LONGITUDE_EAST = "E"The constant used by GPS longitude-related tags to denote the longitude is East longitude. |
const String! |
LONGITUDE_WEST = "W"The constant used by GPS longitude-related tags to denote the longitude is West longitude. |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
METERING_MODE_OTHER = 255The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Int |
Indicates the image is left right reversed mirror. |
const Int |
Indicates the image is upside down mirror, it can also be represented by flip horizontally firstly and rotate 180 degree clockwise. |
const Int |
|
const Int |
Indicates the image is rotated by 180 degree clockwise. |
const Int |
Indicates the image is rotated by 270 degree clockwise. |
const Int |
Indicates the image is rotated by 90 degree clockwise. |
const Int |
Indicates the image is flipped about top-left <--> bottom-right axis, it can also be represented by flip horizontally firstly and rotate 270 degree clockwise. |
const Int |
Indicates the image is flipped about top-right <--> bottom-left axis, it can also be represented by flip horizontally firstly and rotate 90 degree clockwise. |
const Int |
|
const Int |
The constant used by |
const Int |
The constant used by |
const Int |
The constant used by |
const Int |
The constant used by |
const Int |
The constant used by |
const Int |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used to denote resolution unit as centimeters. |
const Short |
The constant used to denote resolution unit as inches. |
const Short |
SATURATION_HIGH = 0The constant used by |
const Short |
SATURATION_LOW = 0The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
SHARPNESS_HARD = 2The constant used by |
const Short |
SHARPNESS_NORMAL = 0The constant used by |
const Short |
SHARPNESS_SOFT = 1The constant used by |
const Int |
Constant used to indicate that the input stream contains only Exif data. |
const Int |
Constant used to indicate that the input stream contains the full image data. |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const String! |
TAG_APERTURE_VALUE = "ApertureValue"The lens aperture. |
const String! |
TAG_ARTIST = "Artist"This tag records the name of the camera owner, photographer or image creator. |
const String! |
TAG_BITS_PER_SAMPLE = "BitsPerSample"The number of bits per image component. |
const String! |
TAG_BODY_SERIAL_NUMBER = "BodySerialNumber"This tag records the serial number of the body of the camera that was used in photography as an ASCII string. |
const String! |
TAG_BRIGHTNESS_VALUE = "BrightnessValue"The value of brightness. |
const String! |
TAG_CAMARA_OWNER_NAME = "CameraOwnerName"This property is deprecated. Use |
const String! |
TAG_CAMERA_OWNER_NAME = "CameraOwnerName"This tag records the owner of a camera used in photography as an ASCII string. |
const String! |
TAG_CFA_PATTERN = "CFAPattern"Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used. |
const String! |
TAG_COLOR_SPACE = "ColorSpace"The color space information tag is always recorded as the color space specifier. |
const String! |
TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration"Information specific to compressed data. |
const String! |
TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel"Information specific to compressed data. |
const String! |
TAG_COMPRESSION = "Compression"The compression scheme used for the image data. |
const String! |
TAG_CONTRAST = "Contrast"This tag indicates the direction of contrast processing applied by the camera when the image was shot. |
const String! |
TAG_COPYRIGHT = "Copyright"Copyright information. |
const String! |
TAG_CUSTOM_RENDERED = "CustomRendered"This tag indicates the use of special processing on image data, such as rendering geared to output. |
const String! |
TAG_DATETIME = "DateTime"The date and time of image creation. |
const String! |
TAG_DATETIME_DIGITIZED = "DateTimeDigitized"The date and time when the image was stored as digital data. |
const String! |
TAG_DATETIME_ORIGINAL = "DateTimeOriginal"The date and time when the original image data was generated. |
const String! |
TAG_DEFAULT_CROP_SIZE = "DefaultCropSize"Type is int. |
const String! |
TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription"This tag indicates information on the picture-taking conditions of a particular camera model. |
const String! |
TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio"This tag indicates the digital zoom ratio when the image was shot. |
const String! |
TAG_DNG_VERSION = "DNGVersion"Type is int. |
const String! |
TAG_EXIF_VERSION = "ExifVersion"The version of this standard supported. |
const String! |
TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue"The exposure bias. |
const String! |
TAG_EXPOSURE_INDEX = "ExposureIndex"Indicates the exposure index selected on the camera or input device at the time the image is captured. |
const String! |
TAG_EXPOSURE_MODE = "ExposureMode"This tag indicates the exposure mode set when the image was shot. |
const String! |
TAG_EXPOSURE_PROGRAM = "ExposureProgram"The class of the program used by the camera to set exposure when the picture is taken. |
const String! |
TAG_EXPOSURE_TIME = "ExposureTime"Exposure time, given in seconds. |
const String! |
TAG_FILE_SOURCE = "FileSource"Indicates the image source. |
const String! |
TAG_FLASH = "Flash"This tag indicates the status of flash when the image was shot. |
const String! |
TAG_FLASHPIX_VERSION = "FlashpixVersion"The Flashpix format version supported by a FPXR file. |
const String! |
TAG_FLASH_ENERGY = "FlashEnergy"Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds (BCPS). |
const String! |
TAG_FOCAL_LENGTH = "FocalLength"The actual focal length of the lens, in mm. |
const String! |
TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm"This tag indicates the equivalent focal length assuming a 35mm film camera, in mm. |
const String! |
TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit"Indicates the unit for measuring |
const String! |
TAG_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution"Indicates the number of pixels in the image width (X) direction per |
const String! |
TAG_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution"Indicates the number of pixels in the image height (Y) direction per |
const String! |
TAG_F_NUMBER = "FNumber"The F number. |
const String! |
TAG_GAIN_CONTROL = "GainControl"This tag indicates the degree of overall image gain adjustment. |
const String! |
TAG_GAMMA = "Gamma"Indicates the value of coefficient gamma. |
const String! |
TAG_GPS_ALTITUDE = "GPSAltitude"Indicates the altitude based on the reference in |
const String! |
TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef"Indicates the altitude used as the reference altitude. |
const String! |
TAG_GPS_AREA_INFORMATION = "GPSAreaInformation"A character string recording the name of the GPS area. |
const String! |
TAG_GPS_DATESTAMP = "GPSDateStamp"A character string recording date and time information relative to UTC (Coordinated Universal Time). |
const String! |
TAG_GPS_DEST_BEARING = "GPSDestBearing"Indicates the bearing to the destination point. |
const String! |
TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef"Indicates the reference used for giving the bearing to the destination point. |
const String! |
TAG_GPS_DEST_DISTANCE = "GPSDestDistance"Indicates the distance to the destination point. |
const String! |
TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef"Indicates the unit used to express the distance to the destination point. |
const String! |
TAG_GPS_DEST_LATITUDE = "GPSDestLatitude"Indicates the latitude of the destination point. |
const String! |
TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef"Indicates whether the latitude of the destination point is north or south latitude. |
const String! |
TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude"Indicates the longitude of the destination point. |
const String! |
TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef"Indicates whether the longitude of the destination point is east or west longitude. |
const String! |
TAG_GPS_DIFFERENTIAL = "GPSDifferential"Indicates whether differential correction is applied to the GPS receiver. |
const String! |
TAG_GPS_DOP = "GPSDOP"Indicates the GPS DOP (data degree of precision). |
const String! |
TAG_GPS_H_POSITIONING_ERROR = "GPSHPositioningError"This tag indicates horizontal positioning errors in meters. |
const String! |
TAG_GPS_IMG_DIRECTION = "GPSImgDirection"ndicates the direction of the image when it was captured. |
const String! |
TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef"Indicates the reference for giving the direction of the image when it is captured. |
const String! |
TAG_GPS_LATITUDE = "GPSLatitude"Indicates the latitude. |
const String! |
TAG_GPS_LATITUDE_REF = "GPSLatitudeRef"Indicates whether the latitude is north or south latitude. |
const String! |
TAG_GPS_LONGITUDE = "GPSLongitude"Indicates the longitude. |
const String! |
TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef"Indicates whether the longitude is east or west longitude. |
const String! |
TAG_GPS_MAP_DATUM = "GPSMapDatum"Indicates the geodetic survey data used by the GPS receiver. |
const String! |
TAG_GPS_MEASURE_MODE = "GPSMeasureMode"Indicates the GPS measurement mode. |
const String! |
TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod"A character string recording the name of the method used for location finding. |
const String! |
TAG_GPS_SATELLITES = "GPSSatellites"Indicates the GPS satellites used for measurements. |
const String! |
TAG_GPS_SPEED = "GPSSpeed"Indicates the speed of GPS receiver movement. |
const String! |
TAG_GPS_SPEED_REF = "GPSSpeedRef"Indicates the unit used to express the GPS receiver speed of movement. |
const String! |
TAG_GPS_STATUS = "GPSStatus"Indicates the status of the GPS receiver when the image is recorded. 'A' means measurement is in progress, and 'V' means the measurement is interrupted. |
const String! |
TAG_GPS_TIMESTAMP = "GPSTimeStamp"Indicates the time as UTC (Coordinated Universal Time). |
const String! |
TAG_GPS_TRACK = "GPSTrack"Indicates the direction of GPS receiver movement. |
const String! |
TAG_GPS_TRACK_REF = "GPSTrackRef"Indicates the reference for giving the direction of GPS receiver movement. |
const String! |
TAG_GPS_VERSION_ID = "GPSVersionID"Indicates the version of GPS Info IFD. |
const String! |
TAG_IMAGE_DESCRIPTION = "ImageDescription"An ASCII string giving the title of the image. |
const String! |
TAG_IMAGE_LENGTH = "ImageLength"The number of rows of image data. |
const String! |
TAG_IMAGE_UNIQUE_ID = "ImageUniqueID"This tag indicates an identifier assigned uniquely to each image. |
const String! |
TAG_IMAGE_WIDTH = "ImageWidth"The number of columns of image data, equal to the number of pixels per row. |
const String! |
TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex"Indicates the identification of the Interoperability rule. |
const String! |
TAG_ISO_SPEED = "ISOSpeed"This tag indicates the ISO speed value of a camera or input device that is defined in ISO 12232. |
const String! |
TAG_ISO_SPEED_LATITUDE_YYY = "ISOSpeedLatitudeyyy"This tag indicates the ISO speed latitude yyy value of a camera or input device that is defined in ISO 12232. |
const String! |
TAG_ISO_SPEED_LATITUDE_ZZZ = "ISOSpeedLatitudezzz"This tag indicates the ISO speed latitude zzz value of a camera or input device that is defined in ISO 12232. |
const String! |
TAG_ISO_SPEED_RATINGS = "ISOSpeedRatings"This property is deprecated. Use |
const String! |
TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat"The offset to the start byte (SOI) of JPEG compressed thumbnail data. |
const String! |
TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength"The number of bytes of JPEG compressed thumbnail data. |
const String! |
TAG_LENS_MAKE = "LensMake"This tag records the lens manufacturer as an ASCII string. |
const String! |
TAG_LENS_MODEL = "LensModel"This tag records the lens’s model name and model number as an ASCII string. |
const String! |
TAG_LENS_SERIAL_NUMBER = "LensSerialNumber"This tag records the serial number of the interchangeable lens that was used in photography as an ASCII string. |
const String! |
TAG_LENS_SPECIFICATION = "LensSpecification"This tag notes minimum focal length, maximum focal length, minimum F number in the minimum focal length, and minimum F number in the maximum focal length, which are specification information for the lens that was used in photography. |
const String! |
TAG_LIGHT_SOURCE = "LightSource"The kind of light source. |
const String! |
TAG_MAKE = "Make"The manufacturer of the recording equipment. |
const String! |
TAG_MAKER_NOTE = "MakerNote"A tag for manufacturers of Exif/DCF writers to record any desired information. |
const String! |
TAG_MAX_APERTURE_VALUE = "MaxApertureValue"The smallest F number of the lens. |
const String! |
TAG_METERING_MODE = "MeteringMode"The metering mode. |
const String! |
TAG_MODEL = "Model"The model name or model number of the equipment. |
const String! |
TAG_NEW_SUBFILE_TYPE = "NewSubfileType"Type is int. |
const String! |
TAG_OECF = "OECF"Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524. |
const String! |
TAG_OFFSET_TIME = "OffsetTime"A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag. |
const String! |
TAG_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized"A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag. |
const String! |
TAG_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal"A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag. |
const String! |
TAG_ORF_ASPECT_FRAME = "AspectFrame"Type is int. |
const String! |
TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength"Type is int. |
const String! |
TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart"Type is int. |
const String! |
TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage"Type is undefined. |
const String! |
TAG_ORIENTATION = "Orientation"The image orientation viewed in terms of rows and columns. |
const String! |
TAG_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity"This tag indicates the sensitivity of the camera or input device when the image was shot. |
const String! |
TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation"The pixel composition. |
const String! |
TAG_PIXEL_X_DIMENSION = "PixelXDimension"Information specific to compressed data. |
const String! |
TAG_PIXEL_Y_DIMENSION = "PixelYDimension"Information specific to compressed data. |
const String! |
TAG_PLANAR_CONFIGURATION = "PlanarConfiguration"Indicates whether pixel components are recorded in chunky or planar format. |
const String! |
TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities"The chromaticity of the three primary colors of the image. |
const String! |
TAG_RECOMMENDED_EXPOSURE_INDEX = "RecommendedExposureIndex"This tag indicates the recommended exposure index value of a camera or input device defined in ISO 12232. |
const String! |
TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite"The reference black point value and reference white point value. |
const String! |
TAG_RELATED_SOUND_FILE = "RelatedSoundFile"This tag is used to record the name of an audio file related to the image data. |
const String! |
TAG_RESOLUTION_UNIT = "ResolutionUnit"The unit for measuring |
const String! |
TAG_ROWS_PER_STRIP = "RowsPerStrip"The number of rows per strip. |
const String! |
TAG_RW2_ISO = "ISO"Type is int. |
const String! |
TAG_RW2_JPG_FROM_RAW = "JpgFromRaw"Type is undefined. |
const String! |
TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder"Type is int. |
const String! |
TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder"Type is int. |
const String! |
TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder"Type is int. |
const String! |
TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder"Type is int. |
const String! |
TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel"The number of components per pixel. |
const String! |
TAG_SATURATION = "Saturation"This tag indicates the direction of saturation processing applied by the camera when the image was shot. |
const String! |
TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType"This tag indicates the type of scene that was shot. |
const String! |
TAG_SCENE_TYPE = "SceneType"Indicates the type of scene. |
const String! |
TAG_SENSING_METHOD = "SensingMethod"Indicates the image sensor type on the camera or input device. |
const String! |
TAG_SENSITIVITY_TYPE = "SensitivityType"This tag indicates which one of the parameters of ISO12232 is |
const String! |
TAG_SHARPNESS = "Sharpness"This tag indicates the direction of sharpness processing applied by the camera when the image was shot. |
const String! |
TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue"Shutter speed. |
const String! |
TAG_SOFTWARE = "Software"This tag records the name and version of the software or firmware of the camera or image input device used to generate the image. |
const String! |
TAG_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse"This tag records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233. |
const String! |
TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity"Indicates the spectral sensitivity of each channel of the camera used. |
const String! |
TAG_STANDARD_OUTPUT_SENSITIVITY = "StandardOutputSensitivity"This tag indicates the standard output sensitivity value of a camera or input device defined in ISO 12232. |
const String! |
TAG_STRIP_BYTE_COUNTS = "StripByteCounts"The total number of bytes in each strip. |
const String! |
TAG_STRIP_OFFSETS = "StripOffsets"For each strip, the byte offset of that strip. |
const String! |
TAG_SUBFILE_TYPE = "SubfileType"Type is int. |
const String! |
TAG_SUBJECT_AREA = "SubjectArea"This tag indicates the location and area of the main subject in the overall scene. |
const String! |
TAG_SUBJECT_DISTANCE = "SubjectDistance"The distance to the subject, given in meters. |
const String! |
TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange"This tag indicates the distance to the subject. |
const String! |
TAG_SUBJECT_LOCATION = "SubjectLocation"Indicates the location of the main subject in the scene. |
const String! |
TAG_SUBSEC_TIME = "SubSecTime"A tag used to record fractions of seconds for |
const String! |
TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized"A tag used to record fractions of seconds for |
const String! |
TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal"A tag used to record fractions of seconds for |
const String! |
TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength" |
const String! |
TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth" |
const String! |
TAG_TRANSFER_FUNCTION = "TransferFunction"A transfer function for the image, described in tabular style. |
const String! |
TAG_USER_COMMENT = "UserComment"A tag for Exif users to write keywords or comments on the image besides those in |
const String! |
TAG_WHITE_BALANCE = "WhiteBalance"This tag indicates the white balance mode set when the image was shot. |
const String! |
TAG_WHITE_POINT = "WhitePoint"The chromaticity of the white point of the image. |
const String! |
TAG_XMP = "Xmp"Type is byte[]. |
const String! |
TAG_X_RESOLUTION = "XResolution"The number of pixels per |
const String! |
TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients"The matrix coefficients for transformation from RGB to YCbCr image data. |
const String! |
TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning"The position of chrominance components in relation to the luminance component. |
const String! |
TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling"The sampling ratio of chrominance components in relation to the luminance component. |
const String! |
TAG_Y_RESOLUTION = "YResolution"The number of pixels per |
const Int |
This property is deprecated. Use |
const Int |
This property is deprecated. Use |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
const Short |
The constant used by |
Public constructors |
|---|
ExifInterface(fileDescriptor: FileDescriptor)Reads Exif tags from the specified image file descriptor. |
ExifInterface(file: File)Reads Exif tags from the specified image file. |
ExifInterface(filename: String)Reads Exif tags from the specified image file. |
ExifInterface(inputStream: InputStream)Reads Exif tags from the specified image input stream. |
ExifInterface(inputStream: InputStream, streamType: Int)Reads Exif tags from the specified image input stream based on the stream type. |
Public functions |
|
|---|---|
Unit |
Flips the image horizontally. |
Unit |
Flips the image vertically. |
Double |
getAltitude(defaultValue: Double)Return the altitude in meters. |
String? |
getAttribute(tag: String)Returns the value of the specified tag or |
ByteArray<Byte>? |
getAttributeBytes(tag: String)Returns the raw bytes for the value of the requested tag inside the image file, or |
Double |
getAttributeDouble(tag: String, defaultValue: Double)Returns the double value of the tag that is specified as rational or contains a double-formatted value. |
Int |
getAttributeInt(tag: String, defaultValue: Int)Returns the integer value of the specified tag. |
LongArray<Long>? |
getAttributeRange(tag: String)Returns the offset and length of the requested tag inside the image file, or |
Long? |
Returns number of milliseconds since 1970-01-01 00:00:00 UTC. |
DoubleArray<Double>? |
Gets the latitude and longitude values. |
Boolean |
This function is deprecated. Use |
Int |
Returns the rotation degrees for the current image orientation. |
ByteArray<Byte>? |
Returns the JPEG compressed thumbnail inside the image file, or |
Bitmap? |
Creates and returns a Bitmap object of the thumbnail image based on the byte array and the thumbnail compression value, or |
ByteArray<Byte>? |
Returns the thumbnail bytes inside the image file, regardless of the compression type of the thumbnail image. |
LongArray<Long>? |
Returns the offset and length of thumbnail inside the image file, or |
Boolean |
hasAttribute(tag: String)Returns true if the image file has the given attribute defined. |
Boolean |
Returns true if the image file has a thumbnail. |
Boolean |
Returns if the current image orientation is flipped. |
java-static Boolean |
isSupportedMimeType(mimeType: String)Returns whether ExifInterface currently supports reading data from the specified mime type or not. |
Boolean |
Returns true if thumbnail image is JPEG Compressed, or false if either thumbnail image does not exist or thumbnail image is uncompressed. |
Unit |
Resets the |
Unit |
Rotates the image by the given degree clockwise. |
Unit |
Save the tag data into the original image file. |
Unit |
setAltitude(altitude: Double)Sets the altitude in meters. |
Unit |
setAttribute(tag: String, value: String?)Sets the value of the specified tag. |
Unit |
setGpsInfo(location: Location?)Sets the GPS-related information. |
Unit |
setLatLong(latitude: Double, longitude: Double)Sets the latitude and longitude values. |
Constants
ALTITUDE_ABOVE_SEA_LEVEL
const val ALTITUDE_ABOVE_SEA_LEVEL = 0: Short
The constant used by TAG_GPS_ALTITUDE_REF to denote the altitude is above sea level.
ALTITUDE_BELOW_SEA_LEVEL
const val ALTITUDE_BELOW_SEA_LEVEL = 1: Short
The constant used by TAG_GPS_ALTITUDE_REF to denote the altitude is below sea level.
BITS_PER_SAMPLE_GREYSCALE_1
const val BITS_PER_SAMPLE_GREYSCALE_1: IntArray<Int>!
The constant used by TAG_BITS_PER_SAMPLE. See JEITA CP-3451C Spec Section 4, Differences from Bilevel Images
BITS_PER_SAMPLE_GREYSCALE_2
const val BITS_PER_SAMPLE_GREYSCALE_2: IntArray<Int>!
The constant used by TAG_BITS_PER_SAMPLE. See JEITA CP-3451C Spec Section 4, Differences from Bilevel Images
BITS_PER_SAMPLE_RGB
const val BITS_PER_SAMPLE_RGB: IntArray<Int>!
The constant used by TAG_BITS_PER_SAMPLE. See JEITA CP-3451C Spec Section 6, Differences from Palette Color Images
COLOR_SPACE_S_RGB
const val COLOR_SPACE_S_RGB = 1: Int
The constant used by TAG_COLOR_SPACE to denote sRGB color space.
COLOR_SPACE_UNCALIBRATED
const val COLOR_SPACE_UNCALIBRATED = 65535: Int
The constant used by TAG_COLOR_SPACE to denote Uncalibrated.
CONTRAST_HARD
const val CONTRAST_HARD = 2: Short
The constant used by TAG_CONTRAST to denote hard contrast.
CONTRAST_NORMAL
const val CONTRAST_NORMAL = 0: Short
The constant used by TAG_CONTRAST to denote normal contrast.
CONTRAST_SOFT
const val CONTRAST_SOFT = 1: Short
The constant used by TAG_CONTRAST to denote soft contrast.
DATA_DEFLATE_ZIP
const val DATA_DEFLATE_ZIP = 8: Int
The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0. Section 3, Compression
DATA_HUFFMAN_COMPRESSED
const val DATA_HUFFMAN_COMPRESSED = 2: Int
The constant used by TAG_COMPRESSION to denote the image is huffman compressed.
DATA_JPEG
const val DATA_JPEG = 6: Int
The constant used by TAG_COMPRESSION to denote the image is JPEG.
DATA_JPEG_COMPRESSED
const val DATA_JPEG_COMPRESSED = 7: Int
The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0. Section 3, Compression
DATA_LOSSY_JPEG
const val DATA_LOSSY_JPEG = 34892: Int
The constant used by TAG_COMPRESSION, see DNG Specification 1.4.0.0. Section 3, Compression
DATA_PACK_BITS_COMPRESSED
const val DATA_PACK_BITS_COMPRESSED = 32773: Int
The constant used by TAG_COMPRESSION to denote the image is pack-bits compressed.
DATA_UNCOMPRESSED
const val DATA_UNCOMPRESSED = 1: Int
The constant used by TAG_COMPRESSION to denote the image is not compressed.
EXPOSURE_MODE_AUTO
const val EXPOSURE_MODE_AUTO = 0: Short
The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Auto.
EXPOSURE_MODE_AUTO_BRACKET
const val EXPOSURE_MODE_AUTO_BRACKET = 2: Short
The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Auto bracket.
EXPOSURE_MODE_MANUAL
const val EXPOSURE_MODE_MANUAL = 1: Short
The constant used by TAG_EXPOSURE_MODE to denote the exposure mode is Manual.
EXPOSURE_PROGRAM_ACTION
const val EXPOSURE_PROGRAM_ACTION = 6: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Action program (biased toward fast shutter speed).
EXPOSURE_PROGRAM_APERTURE_PRIORITY
const val EXPOSURE_PROGRAM_APERTURE_PRIORITY = 3: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Aperture priority.
EXPOSURE_PROGRAM_CREATIVE
const val EXPOSURE_PROGRAM_CREATIVE = 5: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Creative program (biased toward depth of field).
EXPOSURE_PROGRAM_LANDSCAPE_MODE
const val EXPOSURE_PROGRAM_LANDSCAPE_MODE = 8: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Landscape mode (for landscape photos with the background in focus).
EXPOSURE_PROGRAM_MANUAL
const val EXPOSURE_PROGRAM_MANUAL = 1: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Manual.
EXPOSURE_PROGRAM_NORMAL
const val EXPOSURE_PROGRAM_NORMAL = 2: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Normal.
EXPOSURE_PROGRAM_NOT_DEFINED
const val EXPOSURE_PROGRAM_NOT_DEFINED = 0: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is not defined.
EXPOSURE_PROGRAM_PORTRAIT_MODE
const val EXPOSURE_PROGRAM_PORTRAIT_MODE = 7: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Portrait mode (for closeup photos with the background out of focus).
EXPOSURE_PROGRAM_SHUTTER_PRIORITY
const val EXPOSURE_PROGRAM_SHUTTER_PRIORITY = 4: Short
The constant used by TAG_EXPOSURE_PROGRAM to denote exposure program is Shutter priority.
FILE_SOURCE_DSC
const val FILE_SOURCE_DSC = 3: Short
The constant used by TAG_FILE_SOURCE to denote the source is DSC.
FILE_SOURCE_OTHER
const val FILE_SOURCE_OTHER = 0: Short
The constant used by TAG_FILE_SOURCE to denote the source is other.
FILE_SOURCE_REFLEX_SCANNER
const val FILE_SOURCE_REFLEX_SCANNER = 2: Short
The constant used by TAG_FILE_SOURCE to denote the source is scanner of reflex type.
FILE_SOURCE_TRANSPARENT_SCANNER
const val FILE_SOURCE_TRANSPARENT_SCANNER = 1: Short
The constant used by TAG_FILE_SOURCE to denote the source is scanner of transparent type.
FLAG_FLASH_FIRED
const val FLAG_FLASH_FIRED = 1: Short
The flag used by TAG_FLASH to indicate whether the flash is fired.
FLAG_FLASH_MODE_AUTO
const val FLAG_FLASH_MODE_AUTO = 24: Short
The flag used by TAG_FLASH to indicate the camera's flash mode is Auto.
FLAG_FLASH_MODE_COMPULSORY_FIRING
const val FLAG_FLASH_MODE_COMPULSORY_FIRING = 8: Short
The flag used by TAG_FLASH to indicate the camera's flash mode is Compulsory flash firing.
FLAG_FLASH_MODE_COMPULSORY_SUPPRESSION
const val FLAG_FLASH_MODE_COMPULSORY_SUPPRESSION = 16: Short
The flag used by TAG_FLASH to indicate the camera's flash mode is Compulsory flash suppression.
FLAG_FLASH_NO_FLASH_FUNCTION
const val FLAG_FLASH_NO_FLASH_FUNCTION = 32: Short
The flag used by TAG_FLASH to indicate no flash function is present.
FLAG_FLASH_RED_EYE_SUPPORTED
const val FLAG_FLASH_RED_EYE_SUPPORTED = 64: Short
The flag used by TAG_FLASH to indicate red-eye reduction is supported.
FLAG_FLASH_RETURN_LIGHT_DETECTED
const val FLAG_FLASH_RETURN_LIGHT_DETECTED = 6: Short
The flag used by TAG_FLASH to indicate strobe return light is detected.
FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED
const val FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED = 4: Short
The flag used by TAG_FLASH to indicate strobe return light is not detected.
FORMAT_CHUNKY
const val FORMAT_CHUNKY = 1: Short
The constant used by TAG_PLANAR_CONFIGURATION to denote Chunky format.
FORMAT_PLANAR
const val FORMAT_PLANAR = 2: Short
The constant used by TAG_PLANAR_CONFIGURATION to denote Planar format.
GAIN_CONTROL_HIGH_GAIN_DOWN
const val GAIN_CONTROL_HIGH_GAIN_DOWN = 4: Short
The constant used by TAG_GAIN_CONTROL to denote high gain down.
GAIN_CONTROL_HIGH_GAIN_UP
const val GAIN_CONTROL_HIGH_GAIN_UP = 2: Short
The constant used by TAG_GAIN_CONTROL to denote high gain up.
GAIN_CONTROL_LOW_GAIN_DOWN
const val GAIN_CONTROL_LOW_GAIN_DOWN = 3: Short
The constant used by TAG_GAIN_CONTROL to denote low gain down.
GAIN_CONTROL_LOW_GAIN_UP
const val GAIN_CONTROL_LOW_GAIN_UP = 1: Short
The constant used by TAG_GAIN_CONTROL to denote low gain up.
GAIN_CONTROL_NONE
const val GAIN_CONTROL_NONE = 0: Short
The constant used by TAG_GAIN_CONTROL to denote none gain adjustment.
GPS_DIRECTION_MAGNETIC
const val GPS_DIRECTION_MAGNETIC = "M": String!
The constant used by GPS attributes to denote the direction is magnetic direction.
GPS_DIRECTION_TRUE
const val GPS_DIRECTION_TRUE = "T": String!
The constant used by GPS attributes to denote the direction is true direction.
GPS_DISTANCE_KILOMETERS
const val GPS_DISTANCE_KILOMETERS = "K": String!
The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is kilometers.
GPS_DISTANCE_MILES
const val GPS_DISTANCE_MILES = "M": String!
The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is miles.
GPS_DISTANCE_NAUTICAL_MILES
const val GPS_DISTANCE_NAUTICAL_MILES = "N": String!
The constant used by TAG_GPS_DEST_DISTANCE_REF to denote the distance unit is nautical miles.
GPS_MEASUREMENT_2D
const val GPS_MEASUREMENT_2D = "2": String!
The constant used by TAG_GPS_MEASURE_MODE to denote GPS measurement is 2-dimensional.
GPS_MEASUREMENT_3D
const val GPS_MEASUREMENT_3D = "3": String!
The constant used by TAG_GPS_MEASURE_MODE to denote GPS measurement is 3-dimensional.
GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED
const val GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED = 1: Short
The constant used by TAG_GPS_DIFFERENTIAL to denote differential correction is applied.
GPS_MEASUREMENT_INTERRUPTED
const val GPS_MEASUREMENT_INTERRUPTED = "V": String!
The constant used by TAG_GPS_STATUS to denote GPS measurement is interrupted.
GPS_MEASUREMENT_IN_PROGRESS
const val GPS_MEASUREMENT_IN_PROGRESS = "A": String!
The constant used by TAG_GPS_STATUS to denote GPS measurement is in progress.
GPS_MEASUREMENT_NO_DIFFERENTIAL
const val GPS_MEASUREMENT_NO_DIFFERENTIAL = 0: Short
The constant used by TAG_GPS_DIFFERENTIAL to denote no differential correction is applied.
GPS_SPEED_KILOMETERS_PER_HOUR
const val GPS_SPEED_KILOMETERS_PER_HOUR = "K": String!
The constant used by TAG_GPS_SPEED_REF to denote the speed unit is kilometers per hour.
GPS_SPEED_KNOTS
const val GPS_SPEED_KNOTS = "N": String!
The constant used by TAG_GPS_SPEED_REF to denote the speed unit is knots.
GPS_SPEED_MILES_PER_HOUR
const val GPS_SPEED_MILES_PER_HOUR = "M": String!
The constant used by TAG_GPS_SPEED_REF to denote the speed unit is miles per hour.
LATITUDE_NORTH
const val LATITUDE_NORTH = "N": String!
The constant used by GPS latitude-related tags to denote the latitude is North latitude.
LATITUDE_SOUTH
const val LATITUDE_SOUTH = "S": String!
The constant used by GPS latitude-related tags to denote the latitude is South latitude.
LIGHT_SOURCE_CLOUDY_WEATHER
const val LIGHT_SOURCE_CLOUDY_WEATHER = 10: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Cloudy weather.
LIGHT_SOURCE_COOL_WHITE_FLUORESCENT
const val LIGHT_SOURCE_COOL_WHITE_FLUORESCENT = 14: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Cool white fluorescent (W 3800 - 4500K).
LIGHT_SOURCE_D50
const val LIGHT_SOURCE_D50 = 23: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is D50.
LIGHT_SOURCE_D55
const val LIGHT_SOURCE_D55 = 20: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is D55.
LIGHT_SOURCE_D65
const val LIGHT_SOURCE_D65 = 21: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is D65.
LIGHT_SOURCE_D75
const val LIGHT_SOURCE_D75 = 22: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is D75.
LIGHT_SOURCE_DAYLIGHT
const val LIGHT_SOURCE_DAYLIGHT = 1: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Daylight.
LIGHT_SOURCE_DAYLIGHT_FLUORESCENT
const val LIGHT_SOURCE_DAYLIGHT_FLUORESCENT = 12: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Daylight fluorescent (D 5700 - 7100K).
LIGHT_SOURCE_DAY_WHITE_FLUORESCENT
const val LIGHT_SOURCE_DAY_WHITE_FLUORESCENT = 13: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Day white fluorescent (N 4600 - 5500K).
LIGHT_SOURCE_FINE_WEATHER
const val LIGHT_SOURCE_FINE_WEATHER = 9: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Fine weather.
LIGHT_SOURCE_FLASH
const val LIGHT_SOURCE_FLASH = 4: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Flash.
LIGHT_SOURCE_FLUORESCENT
const val LIGHT_SOURCE_FLUORESCENT = 2: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Fluorescent.
LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN
const val LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN = 24: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is ISO studio tungsten.
LIGHT_SOURCE_OTHER
const val LIGHT_SOURCE_OTHER = 255: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is other.
LIGHT_SOURCE_SHADE
const val LIGHT_SOURCE_SHADE = 11: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Shade.
LIGHT_SOURCE_STANDARD_LIGHT_A
const val LIGHT_SOURCE_STANDARD_LIGHT_A = 17: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light A.
LIGHT_SOURCE_STANDARD_LIGHT_B
const val LIGHT_SOURCE_STANDARD_LIGHT_B = 18: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light B.
LIGHT_SOURCE_STANDARD_LIGHT_C
const val LIGHT_SOURCE_STANDARD_LIGHT_C = 19: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Standard light C.
LIGHT_SOURCE_TUNGSTEN
const val LIGHT_SOURCE_TUNGSTEN = 3: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Tungsten (incandescent light).
LIGHT_SOURCE_UNKNOWN
const val LIGHT_SOURCE_UNKNOWN = 0: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is unknown.
LIGHT_SOURCE_WARM_WHITE_FLUORESCENT
const val LIGHT_SOURCE_WARM_WHITE_FLUORESCENT = 16: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is Warm white fluorescent (L 2600 - 3250K).
LIGHT_SOURCE_WHITE_FLUORESCENT
const val LIGHT_SOURCE_WHITE_FLUORESCENT = 15: Short
The constant used by TAG_LIGHT_SOURCE to denote light source is White fluorescent (WW 3250 - 3800K).
LONGITUDE_EAST
const val LONGITUDE_EAST = "E": String!
The constant used by GPS longitude-related tags to denote the longitude is East longitude.
LONGITUDE_WEST
const val LONGITUDE_WEST = "W": String!
The constant used by GPS longitude-related tags to denote the longitude is West longitude.
METERING_MODE_AVERAGE
const val METERING_MODE_AVERAGE = 1: Short
The constant used by TAG_METERING_MODE to denote metering mode is Average.
METERING_MODE_CENTER_WEIGHT_AVERAGE
const val METERING_MODE_CENTER_WEIGHT_AVERAGE = 2: Short
The constant used by TAG_METERING_MODE to denote metering mode is CenterWeightedAverage.
METERING_MODE_MULTI_SPOT
const val METERING_MODE_MULTI_SPOT = 4: Short
The constant used by TAG_METERING_MODE to denote metering mode is MultiSpot.
METERING_MODE_OTHER
const val METERING_MODE_OTHER = 255: Short
The constant used by TAG_METERING_MODE to denote metering mode is other.
METERING_MODE_PARTIAL
const val METERING_MODE_PARTIAL = 6: Short
The constant used by TAG_METERING_MODE to denote metering mode is Partial.
METERING_MODE_PATTERN
const val METERING_MODE_PATTERN = 5: Short
The constant used by TAG_METERING_MODE to denote metering mode is Pattern.
METERING_MODE_SPOT
const val METERING_MODE_SPOT = 3: Short
The constant used by TAG_METERING_MODE to denote metering mode is Spot.
METERING_MODE_UNKNOWN
const val METERING_MODE_UNKNOWN = 0: Short
The constant used by TAG_METERING_MODE to denote metering mode is unknown.
ORIENTATION_FLIP_HORIZONTAL
const val ORIENTATION_FLIP_HORIZONTAL = 2: Int
Indicates the image is left right reversed mirror.
ORIENTATION_FLIP_VERTICAL
const val ORIENTATION_FLIP_VERTICAL = 4: Int
Indicates the image is upside down mirror, it can also be represented by flip horizontally firstly and rotate 180 degree clockwise.
ORIENTATION_ROTATE_180
const val ORIENTATION_ROTATE_180 = 3: Int
Indicates the image is rotated by 180 degree clockwise.
ORIENTATION_ROTATE_270
const val ORIENTATION_ROTATE_270 = 8: Int
Indicates the image is rotated by 270 degree clockwise.
ORIENTATION_ROTATE_90
const val ORIENTATION_ROTATE_90 = 6: Int
Indicates the image is rotated by 90 degree clockwise.
ORIENTATION_TRANSPOSE
const val ORIENTATION_TRANSPOSE = 5: Int
Indicates the image is flipped about top-left <--> bottom-right axis, it can also be represented by flip horizontally firstly and rotate 270 degree clockwise.
ORIENTATION_TRANSVERSE
const val ORIENTATION_TRANSVERSE = 7: Int
Indicates the image is flipped about top-right <--> bottom-left axis, it can also be represented by flip horizontally firstly and rotate 90 degree clockwise.
ORIGINAL_RESOLUTION_IMAGE
const val ORIGINAL_RESOLUTION_IMAGE = 0: Int
The constant used by TAG_NEW_SUBFILE_TYPE. See JEITA CP-3451C Spec Section 8.
PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO
const val PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1: Int
The constant used by TAG_PHOTOMETRIC_INTERPRETATION.
PHOTOMETRIC_INTERPRETATION_RGB
const val PHOTOMETRIC_INTERPRETATION_RGB = 2: Int
The constant used by TAG_PHOTOMETRIC_INTERPRETATION.
PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO
const val PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0: Int
The constant used by TAG_PHOTOMETRIC_INTERPRETATION.
PHOTOMETRIC_INTERPRETATION_YCBCR
const val PHOTOMETRIC_INTERPRETATION_YCBCR = 6: Int
The constant used by TAG_PHOTOMETRIC_INTERPRETATION.
REDUCED_RESOLUTION_IMAGE
const val REDUCED_RESOLUTION_IMAGE = 1: Int
The constant used by TAG_NEW_SUBFILE_TYPE. See JEITA CP-3451C Spec Section 8.
RENDERED_PROCESS_CUSTOM
const val RENDERED_PROCESS_CUSTOM = 1: Short
The constant used by TAG_CUSTOM_RENDERED to denote special processing is used.
RENDERED_PROCESS_NORMAL
const val RENDERED_PROCESS_NORMAL = 0: Short
The constant used by TAG_CUSTOM_RENDERED to denote no special processing is used.
RESOLUTION_UNIT_CENTIMETERS
const val RESOLUTION_UNIT_CENTIMETERS = 3: Short
The constant used to denote resolution unit as centimeters.
RESOLUTION_UNIT_INCHES
const val RESOLUTION_UNIT_INCHES = 2: Short
The constant used to denote resolution unit as inches.
SATURATION_HIGH
const val SATURATION_HIGH = 0: Short
The constant used by TAG_SHARPNESS to denote high saturation.
SATURATION_LOW
const val SATURATION_LOW = 0: Short
The constant used by TAG_SATURATION to denote low saturation.
SATURATION_NORMAL
const val SATURATION_NORMAL = 0: Short
The constant used by TAG_SATURATION to denote normal saturation.
SCENE_CAPTURE_TYPE_LANDSCAPE
const val SCENE_CAPTURE_TYPE_LANDSCAPE = 1: Short
The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Landscape.
SCENE_CAPTURE_TYPE_NIGHT
const val SCENE_CAPTURE_TYPE_NIGHT = 3: Short
The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Night scene.
SCENE_CAPTURE_TYPE_PORTRAIT
const val SCENE_CAPTURE_TYPE_PORTRAIT = 2: Short
The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Portrait.
SCENE_CAPTURE_TYPE_STANDARD
const val SCENE_CAPTURE_TYPE_STANDARD = 0: Short
The constant used by TAG_SCENE_CAPTURE_TYPE to denote the scene capture type is Standard.
SCENE_TYPE_DIRECTLY_PHOTOGRAPHED
const val SCENE_TYPE_DIRECTLY_PHOTOGRAPHED = 1: Short
The constant used by TAG_SCENE_TYPE to denote the scene is directly photographed.
SENSITIVITY_TYPE_ISO_SPEED
const val SENSITIVITY_TYPE_ISO_SPEED = 3: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is ISO speed.
SENSITIVITY_TYPE_REI
const val SENSITIVITY_TYPE_REI = 2: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Recommended exposure index (REI).
SENSITIVITY_TYPE_REI_AND_ISO
const val SENSITIVITY_TYPE_REI_AND_ISO = 6: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Recommended exposure index (REI) and ISO speed.
SENSITIVITY_TYPE_SOS
const val SENSITIVITY_TYPE_SOS = 1: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS).
SENSITIVITY_TYPE_SOS_AND_ISO
const val SENSITIVITY_TYPE_SOS_AND_ISO = 5: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and ISO speed.
SENSITIVITY_TYPE_SOS_AND_REI
const val SENSITIVITY_TYPE_SOS_AND_REI = 4: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and recommended exposure index (REI).
SENSITIVITY_TYPE_SOS_AND_REI_AND_ISO
const val SENSITIVITY_TYPE_SOS_AND_REI_AND_ISO = 7: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is Standard output sensitivity (SOS) and recommended exposure index (REI) and ISO speed.
SENSITIVITY_TYPE_UNKNOWN
const val SENSITIVITY_TYPE_UNKNOWN = 0: Short
The constant used by TAG_SENSITIVITY_TYPE to denote sensitivity type is unknown.
SENSOR_TYPE_COLOR_SEQUENTIAL
const val SENSOR_TYPE_COLOR_SEQUENTIAL = 5: Short
The constant used by TAG_SENSING_METHOD to denote the image sensor type is Color sequential area sensor.
SENSOR_TYPE_COLOR_SEQUENTIAL_LINEAR
const val SENSOR_TYPE_COLOR_SEQUENTIAL_LINEAR = 8: Short
The constant used by TAG_SENSING_METHOD to denote the image sensor type is Color sequential linear sensor.
SENSOR_TYPE_NOT_DEFINED
const val SENSOR_TYPE_NOT_DEFINED = 1: Short
The constant used by TAG_SENSING_METHOD to denote the image sensor type is not defined.
SENSOR_TYPE_ONE_CHIP
const val SENSOR_TYPE_ONE_CHIP = 2: Short
The constant used by TAG_SENSING_METHOD to denote the image sensor type is One-chip color area sensor.
SENSOR_TYPE_THREE_CHIP
const val SENSOR_TYPE_THREE_CHIP = 4: Short
The constant used by TAG_SENSING_METHOD to denote the image sensor type is Three-chip color area sensor.
SENSOR_TYPE_TRILINEAR
const val SENSOR_TYPE_TRILINEAR = 7: Short
The constant used by TAG_SENSING_METHOD to denote the image sensor type is Trilinear sensor.
SENSOR_TYPE_TWO_CHIP
const val SENSOR_TYPE_TWO_CHIP = 3: Short
The constant used by TAG_SENSING_METHOD to denote the image sensor type is Two-chip color area sensor.
SHARPNESS_HARD
const val SHARPNESS_HARD = 2: Short
The constant used by TAG_SHARPNESS to denote hard sharpness.
SHARPNESS_NORMAL
const val SHARPNESS_NORMAL = 0: Short
The constant used by TAG_SHARPNESS to denote normal sharpness.
SHARPNESS_SOFT
const val SHARPNESS_SOFT = 1: Short
The constant used by TAG_SHARPNESS to denote soft sharpness.
STREAM_TYPE_EXIF_DATA_ONLY
const val STREAM_TYPE_EXIF_DATA_ONLY = 1: Int
Constant used to indicate that the input stream contains only Exif data.
The format of the Exif-only data must follow the below structure: Exif Identifier Code ("Exif\0\0") + TIFF header + IFD data See JEITA CP-3451C Section 4.5.2 and 4.5.4 specifications for more details.
STREAM_TYPE_FULL_IMAGE_DATA
const val STREAM_TYPE_FULL_IMAGE_DATA = 0: Int
Constant used to indicate that the input stream contains the full image data.
The format of the image data should follow one of the image formats supported by this class.
SUBJECT_DISTANCE_RANGE_CLOSE_VIEW
const val SUBJECT_DISTANCE_RANGE_CLOSE_VIEW = 2: Short
The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Close view.
SUBJECT_DISTANCE_RANGE_DISTANT_VIEW
const val SUBJECT_DISTANCE_RANGE_DISTANT_VIEW = 3: Short
The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Distant view.
SUBJECT_DISTANCE_RANGE_MACRO
const val SUBJECT_DISTANCE_RANGE_MACRO = 1: Short
The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is Macro.
SUBJECT_DISTANCE_RANGE_UNKNOWN
const val SUBJECT_DISTANCE_RANGE_UNKNOWN = 0: Short
The constant used by TAG_SUBJECT_DISTANCE_RANGE to denote the subject distance range is unknown.
TAG_APERTURE_VALUE
const val TAG_APERTURE_VALUE = "ApertureValue": String!
The lens aperture. The unit is the APEX value.
- Tag = 37378
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_ARTIST
const val TAG_ARTIST = "Artist": String!
This tag records the name of the camera owner, photographer or image creator. The detailed format is not specified, but it is recommended that the information be written as in the example below for ease of Interoperability. When the field is left blank, it is treated as unknown.
Ex.) "Camera owner, John Smith; Photographer, Michael Brown; Image creator, Ken James"
- Tag = 315
- Type = String
- Default = None
TAG_BITS_PER_SAMPLE
const val TAG_BITS_PER_SAMPLE = "BitsPerSample": String!
The number of bits per image component. In this standard each component of the image is 8 bits, so the value for this tag is 8. See also TAG_SAMPLES_PER_PIXEL. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.
- Tag = 258
- Type = Unsigned short
- Count = 3
- Default =
BITS_PER_SAMPLE_RGB
TAG_BODY_SERIAL_NUMBER
const val TAG_BODY_SERIAL_NUMBER = "BodySerialNumber": String!
This tag records the serial number of the body of the camera that was used in photography as an ASCII string.
- Tag = 42033
- Type = String
- Default = None
TAG_BRIGHTNESS_VALUE
const val TAG_BRIGHTNESS_VALUE = "BrightnessValue": String!
The value of brightness. The unit is the APEX value. Ordinarily it is given in the range of -99.99 to 99.99. Note that if the numerator of the recorded value is 0xFFFFFFFF, Unknown shall be indicated.
- Tag = 37379
- Type = Signed rational
- Count = 1
- Default = None
const val TAG_CAMARA_OWNER_NAME = "CameraOwnerName": String!
This tag records the owner of a camera used in photography as an ASCII string.
- Tag = 42032
- Type = String
- Default = None
TAG_CAMERA_OWNER_NAME
const val TAG_CAMERA_OWNER_NAME = "CameraOwnerName": String!
This tag records the owner of a camera used in photography as an ASCII string.
- Tag = 42032
- Type = String
- Default = None
TAG_CFA_PATTERN
const val TAG_CFA_PATTERN = "CFAPattern": String!
Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used. It does not apply to all sensing methods.
- Tag = 41730
- Type = Undefined
- Default = None
| See also | |
|---|---|
TAG_SENSING_METHOD |
|
SENSOR_TYPE_ONE_CHIP |
TAG_COLOR_SPACE
const val TAG_COLOR_SPACE = "ColorSpace": String!
The color space information tag is always recorded as the color space specifier. Normally COLOR_SPACE_S_RGB is used to define the color space based on the PC monitor conditions and environment. If a color space other than COLOR_SPACE_S_RGB is used, COLOR_SPACE_UNCALIBRATED is set. Image data recorded as COLOR_SPACE_UNCALIBRATED may be treated as COLOR_SPACE_S_RGB when it is converted to Flashpix.
- Tag = 40961
- Type = Unsigned short
- Count = 1
TAG_COMPONENTS_CONFIGURATION
const val TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration": String!
Information specific to compressed data. The channels of each component are arranged in order from the 1st component to the 4th. For uncompressed data the data arrangement is given in the TAG_PHOTOMETRIC_INTERPRETATION. However, since TAG_PHOTOMETRIC_INTERPRETATION can only express the order of Y, Cb and Cr, this tag is provided for cases when compressed data uses components other than Y, Cb, and Cr and to enable support of other sequences.
- Tag = 37121
- Type = Undefined
- Length = 4
- Default = 4 5 6 0 (if RGB uncompressed) or 1 2 3 0 (other cases)
- 0 = does not exist
- 1 = Y
- 2 = Cb
- 3 = Cr
- 4 = R
- 5 = G
- 6 = B
- other = reserved
TAG_COMPRESSED_BITS_PER_PIXEL
const val TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel": String!
Information specific to compressed data. The compression mode used for a compressed image is indicated in unit bits per pixel.
- Tag = 37122
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_COMPRESSION
const val TAG_COMPRESSION = "Compression": String!
The compression scheme used for the image data. When a primary image is JPEG compressed, this designation is not necessary. So, this tag shall not be recorded. When thumbnails use JPEG compression, this tag value is set to 6.
- Tag = 259
- Type = Unsigned short
- Count = 1
- Default = None
| See also | |
|---|---|
DATA_UNCOMPRESSED |
|
DATA_JPEG |
TAG_CONTRAST
const val TAG_CONTRAST = "Contrast": String!
This tag indicates the direction of contrast processing applied by the camera when the image was shot.
- Tag = 41992
- Type = Unsigned short
- Count = 1
- Default =
CONTRAST_NORMAL
| See also | |
|---|---|
CONTRAST_NORMAL |
|
CONTRAST_SOFT |
|
CONTRAST_HARD |
TAG_COPYRIGHT
const val TAG_COPYRIGHT = "Copyright": String!
Copyright information. In this standard the tag is used to indicate both the photographer and editor copyrights. It is the copyright notice of the person or organization claiming rights to the image. The Interoperability copyright statement including date and rights should be written in this field; e.g., "Copyright, John Smith, 19xx. All rights reserved." In this standard the field records both the photographer and editor copyrights, with each recorded in a separate part of the statement. When there is a clear distinction between the photographer and editor copyrights, these are to be written in the order of photographer followed by editor copyright, separated by NULL (in this case, since the statement also ends with a NULL, there are two NULL codes) (see example 1). When only the photographer copyright is given, it is terminated by one NULL code (see example 2). When only the editor copyright is given, the photographer copyright part consists of one space followed by a terminating NULL code, then the editor copyright is given (see example 3). When the field is left blank, it is treated as unknown.
Ex. 1) When both the photographer copyright and editor copyright are given.
- Photographer copyright + NULL + editor copyright + NULL
Ex. 2) When only the photographer copyright is given.
- Photographer copyright + NULL
Ex. 3) When only the editor copyright is given.
- Space (
0x20) + NULL + editor copyright + NULL
- Tag = 315
- Type = String
- Default = None
TAG_CUSTOM_RENDERED
const val TAG_CUSTOM_RENDERED = "CustomRendered": String!
This tag indicates the use of special processing on image data, such as rendering geared to output. When special processing is performed, the Exif/DCF reader is expected to disable or minimize any further processing.
- Tag = 41985
- Type = Unsigned short
- Count = 1
- Default =
RENDERED_PROCESS_NORMAL
TAG_DATETIME
const val TAG_DATETIME = "DateTime": String!
The date and time of image creation. In this standard it is the date and time the file was changed. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character (0x20). When the date and time are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 20 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.
- Tag = 306
- Type = String
- Length = 19
- Default = None
Note: The format "YYYY-MM-DD HH:MM:SS" is also supported for reading. For writing, however, calling setAttribute with the "YYYY-MM-DD HH:MM:SS" format will automatically convert it to the primary format, "YYYY:MM:DD HH:MM:SS".
TAG_DATETIME_DIGITIZED
const val TAG_DATETIME_DIGITIZED = "DateTimeDigitized": String!
The date and time when the image was stored as digital data. If, for example, an image was captured by DSC and at the same time the file was recorded, then TAG_DATETIME_ORIGINAL and this tag will have the same contents. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character (0x20). When the date and time are unknown, all the character spaces except colons (":")should be filled with blank characters, or else the Interoperability field should be filled with blank characters. When the field is left blank, it is treated as unknown.
- Tag = 36868
- Type = String
- Length = 19
- Default = None
Note: The format "YYYY-MM-DD HH:MM:SS" is also supported for reading. For writing, however, calling setAttribute with the "YYYY-MM-DD HH:MM:SS" format will automatically convert it to the primary format, "YYYY:MM:DD HH:MM:SS".
TAG_DATETIME_ORIGINAL
const val TAG_DATETIME_ORIGINAL = "DateTimeOriginal": String!
The date and time when the original image data was generated. For a DSC the date and time the picture was taken are recorded. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character (0x20). When the date and time are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. When the field is left blank, it is treated as unknown.
- Tag = 36867
- Type = String
- Length = 19
- Default = None
Note: The format "YYYY-MM-DD HH:MM:SS" is also supported for reading. For writing, however, calling setAttribute with the "YYYY-MM-DD HH:MM:SS" format will automatically convert it to the primary format, "YYYY:MM:DD HH:MM:SS".
TAG_DEFAULT_CROP_SIZE
const val TAG_DEFAULT_CROP_SIZE = "DefaultCropSize": String!
Type is int. DNG Specification 1.4.0.0. Section 4
TAG_DEVICE_SETTING_DESCRIPTION
const val TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription": String!
This tag indicates information on the picture-taking conditions of a particular camera model. The tag is used only to indicate the picture-taking conditions in the Exif/DCF reader.
- Tag = 41995
- Type = Undefined
- Default = None
TAG_DIGITAL_ZOOM_RATIO
const val TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio": String!
This tag indicates the digital zoom ratio when the image was shot. If the numerator of the recorded value is 0, this indicates that digital zoom was not used.
Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".
- Tag = 41988
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_DNG_VERSION
const val TAG_DNG_VERSION = "DNGVersion": String!
Type is int. DNG Specification 1.4.0.0. Section 4
TAG_EXIF_VERSION
const val TAG_EXIF_VERSION = "ExifVersion": String!
The version of this standard supported. Nonexistence of this field is taken to mean nonconformance to the standard. In according with conformance to this standard, this tag shall be recorded like "0230” as 4-byte ASCII.
- Tag = 36864
- Type = Undefined
- Length = 4
- Default = "0230"
TAG_EXPOSURE_BIAS_VALUE
const val TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue": String!
The exposure bias. The unit is the APEX value. Ordinarily it is given in the range of -99.99 to 99.99.
- Tag = 37380
- Type = Signed rational
- Count = 1
- Default = None
TAG_EXPOSURE_INDEX
const val TAG_EXPOSURE_INDEX = "ExposureIndex": String!
Indicates the exposure index selected on the camera or input device at the time the image is captured.
- Tag = 41493
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_EXPOSURE_MODE
const val TAG_EXPOSURE_MODE = "ExposureMode": String!
This tag indicates the exposure mode set when the image was shot. In EXPOSURE_MODE_AUTO_BRACKET, the camera shoots a series of frames of the same scene at different exposure settings.
- Tag = 41986
- Type = Unsigned short
- Count = 1
- Default = None
TAG_EXPOSURE_PROGRAM
const val TAG_EXPOSURE_PROGRAM = "ExposureProgram": String!
The class of the program used by the camera to set exposure when the picture is taken. The tag values are as follows.
- Tag = 34850
- Type = Unsigned short
- Count = 1
- Default =
EXPOSURE_PROGRAM_NOT_DEFINED
TAG_EXPOSURE_TIME
const val TAG_EXPOSURE_TIME = "ExposureTime": String!
Exposure time, given in seconds.
Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".
- Tag = 33434
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_FILE_SOURCE
const val TAG_FILE_SOURCE = "FileSource": String!
Indicates the image source. If a DSC recorded the image, this tag value always shall be set to FILE_SOURCE_DSC.
- Tag = 41728
- Type = Undefined
- Length = 1
- Default =
FILE_SOURCE_DSC
TAG_FLASH
const val TAG_FLASH = "Flash": String!
This tag indicates the status of flash when the image was shot. Bit 0 indicates the flash firing status, bits 1 and 2 indicate the flash return status, bits 3 and 4 indicate the flash mode, bit 5 indicates whether the flash function is present, and bit 6 indicates "red eye" mode.
- Tag = 37385
- Type = Unsigned short
- Count = 1
TAG_FLASHPIX_VERSION
const val TAG_FLASHPIX_VERSION = "FlashpixVersion": String!
The Flashpix format version supported by a FPXR file. If the FPXR function supports Flashpix format Ver. 1.0, this is indicated similarly to TAG_EXIF_VERSION by recording "0100" as 4-byte ASCII.
- Tag = 40960
- Type = Undefined
- Length = 4
- Default = "0100"
TAG_FLASH_ENERGY
const val TAG_FLASH_ENERGY = "FlashEnergy": String!
Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds (BCPS).
- Tag = 41483
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_FOCAL_LENGTH
const val TAG_FOCAL_LENGTH = "FocalLength": String!
The actual focal length of the lens, in mm. Conversion is not made to the focal length of a 35mm film camera.
- Tag = 37386
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_FOCAL_LENGTH_IN_35MM_FILM
const val TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm": String!
This tag indicates the equivalent focal length assuming a 35mm film camera, in mm. A value of 0 means the focal length is unknown. Note that this tag differs from TAG_FOCAL_LENGTH.
- Tag = 41989
- Type = Unsigned short
- Count = 1
- Default = None
TAG_FOCAL_PLANE_RESOLUTION_UNIT
const val TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit": String!
Indicates the unit for measuring TAG_FOCAL_PLANE_X_RESOLUTION and TAG_FOCAL_PLANE_Y_RESOLUTION. This value is the same as TAG_RESOLUTION_UNIT.
- Tag = 41488
- Type = Unsigned short
- Count = 1
- Default =
RESOLUTION_UNIT_INCHES
TAG_FOCAL_PLANE_X_RESOLUTION
const val TAG_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution": String!
Indicates the number of pixels in the image width (X) direction per TAG_FOCAL_PLANE_RESOLUTION_UNIT on the camera focal plane.
- Tag = 41486
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_FOCAL_PLANE_Y_RESOLUTION
const val TAG_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution": String!
Indicates the number of pixels in the image height (Y) direction per TAG_FOCAL_PLANE_RESOLUTION_UNIT on the camera focal plane.
- Tag = 41487
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_F_NUMBER
const val TAG_F_NUMBER = "FNumber": String!
The F number.
Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".
- Tag = 33437
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GAIN_CONTROL
const val TAG_GAIN_CONTROL = "GainControl": String!
This tag indicates the degree of overall image gain adjustment.
- Tag = 41991
- Type = Unsigned short
- Count = 1
- Default = None
TAG_GAMMA
const val TAG_GAMMA = "Gamma": String!
Indicates the value of coefficient gamma. The formula of transfer function used for image reproduction is expressed as follows.
(Reproduced value) = (Input value) ^ gamma
Both reproduced value and input value indicate normalized value, whose minimum value is 0 and maximum value is 1.
- Tag = 42240
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_ALTITUDE
const val TAG_GPS_ALTITUDE = "GPSAltitude": String!
Indicates the altitude based on the reference in TAG_GPS_ALTITUDE_REF. The reference unit is meters.
- Tag = 6
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_ALTITUDE_REF
const val TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef": String!
Indicates the altitude used as the reference altitude. If the reference is sea level and the altitude is above sea level, 0 is given. If the altitude is below sea level, a value of 1 is given and the altitude is indicated as an absolute value in TAG_GPS_ALTITUDE.
- Tag = 5
- Type = Byte
- Count = 1
- Default = 0
TAG_GPS_AREA_INFORMATION
const val TAG_GPS_AREA_INFORMATION = "GPSAreaInformation": String!
A character string recording the name of the GPS area. The first byte indicates the character code used, and this is followed by the name of the GPS area.
- Tag = 28
- Type = Undefined
- Default = None
TAG_GPS_DATESTAMP
const val TAG_GPS_DATESTAMP = "GPSDateStamp": String!
A character string recording date and time information relative to UTC (Coordinated Universal Time). The format is "YYYY:MM:DD".
- Tag = 29
- Type = String
- Length = 10
- Default = None
TAG_GPS_DEST_BEARING
const val TAG_GPS_DEST_BEARING = "GPSDestBearing": String!
Indicates the bearing to the destination point. The range of values is from 0.00 to 359.99.
- Tag = 24
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_DEST_BEARING_REF
const val TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef": String!
Indicates the reference used for giving the bearing to the destination point.
- Tag = 23
- Type = String
- Length = 1
- Default =
GPS_DIRECTION_TRUE
| See also | |
|---|---|
GPS_DIRECTION_TRUE |
|
GPS_DIRECTION_MAGNETIC |
TAG_GPS_DEST_DISTANCE
const val TAG_GPS_DEST_DISTANCE = "GPSDestDistance": String!
Indicates the distance to the destination point.
- Tag = 26
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_DEST_DISTANCE_REF
const val TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef": String!
Indicates the unit used to express the distance to the destination point.
- Tag = 25
- Type = String
- Length = 1
- Default =
GPS_DISTANCE_KILOMETERS
TAG_GPS_DEST_LATITUDE
const val TAG_GPS_DEST_LATITUDE = "GPSDestLatitude": String!
Indicates the latitude of the destination point. The latitude is expressed as three unsigned rational values giving the degrees, minutes, and seconds, respectively. If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be dd/1, mmmm/100, 0/1.
- Tag = 20
- Type = Unsigned rational
- Count = 3
- Default = None
TAG_GPS_DEST_LATITUDE_REF
const val TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef": String!
Indicates whether the latitude of the destination point is north or south latitude.
- Tag = 19
- Type = String
- Length = 1
- Default = None
| See also | |
|---|---|
LATITUDE_NORTH |
|
LATITUDE_SOUTH |
TAG_GPS_DEST_LONGITUDE
const val TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude": String!
Indicates the longitude of the destination point. The longitude is expressed as three unsigned rational values giving the degrees, minutes, and seconds, respectively. If longitude is expressed as degrees, minutes and seconds, a typical format would be ddd/1, mm/1, ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be ddd/1, mmmm/100, 0/1.
- Tag = 22
- Type = Unsigned rational
- Count = 3
- Default = None
TAG_GPS_DEST_LONGITUDE_REF
const val TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef": String!
Indicates whether the longitude of the destination point is east or west longitude.
- Tag = 21
- Type = String
- Length = 1
- Default = None
| See also | |
|---|---|
LONGITUDE_EAST |
|
LONGITUDE_WEST |
TAG_GPS_DIFFERENTIAL
const val TAG_GPS_DIFFERENTIAL = "GPSDifferential": String!
Indicates whether differential correction is applied to the GPS receiver.
- Tag = 30
- Type = Unsigned short
- Count = 1
- Default = None
TAG_GPS_DOP
const val TAG_GPS_DOP = "GPSDOP": String!
Indicates the GPS DOP (data degree of precision). An HDOP value is written during two-dimensional measurement, and PDOP during three-dimensional measurement.
- Tag = 11
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_H_POSITIONING_ERROR
const val TAG_GPS_H_POSITIONING_ERROR = "GPSHPositioningError": String!
This tag indicates horizontal positioning errors in meters.
- Tag = 31
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_IMG_DIRECTION
const val TAG_GPS_IMG_DIRECTION = "GPSImgDirection": String!
ndicates the direction of the image when it was captured. The range of values is from 0.00 to 359.99.
- Tag = 17
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_IMG_DIRECTION_REF
const val TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef": String!
Indicates the reference for giving the direction of the image when it is captured.
- Tag = 16
- Type = String
- Length = 1
- Default =
GPS_DIRECTION_TRUE
| See also | |
|---|---|
GPS_DIRECTION_TRUE |
|
GPS_DIRECTION_MAGNETIC |
TAG_GPS_LATITUDE
const val TAG_GPS_LATITUDE = "GPSLatitude": String!
Indicates the latitude. The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be dd/1,mmmm/100,0/1.
- Tag = 2
- Type = Unsigned rational
- Count = 3
- Default = None
TAG_GPS_LATITUDE_REF
const val TAG_GPS_LATITUDE_REF = "GPSLatitudeRef": String!
Indicates whether the latitude is north or south latitude.
- Tag = 1
- Type = String
- Length = 1
- Default = None
| See also | |
|---|---|
LATITUDE_NORTH |
|
LATITUDE_SOUTH |
TAG_GPS_LONGITUDE
const val TAG_GPS_LONGITUDE = "GPSLongitude": String!
Indicates the longitude. The longitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. If longitude is expressed as degrees, minutes and seconds, a typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be ddd/1,mmmm/100,0/1.
- Tag = 4
- Type = Unsigned rational
- Count = 3
- Default = None
TAG_GPS_LONGITUDE_REF
const val TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef": String!
Indicates whether the longitude is east or west longitude.
- Tag = 3
- Type = String
- Length = 1
- Default = None
| See also | |
|---|---|
LONGITUDE_EAST |
|
LONGITUDE_WEST |
TAG_GPS_MAP_DATUM
const val TAG_GPS_MAP_DATUM = "GPSMapDatum": String!
Indicates the geodetic survey data used by the GPS receiver. If the survey data is restricted to Japan,the value of this tag is 'TOKYO' or 'WGS-84'. If a GPS Info tag is recorded, it is strongly recommended that this tag be recorded.
- Tag = 18
- Type = String
- Default = None
TAG_GPS_MEASURE_MODE
const val TAG_GPS_MEASURE_MODE = "GPSMeasureMode": String!
Indicates the GPS measurement mode. Originally it was defined for GPS, but it may be used for recording a measure mode to record the position information provided from a mobile base station or wireless LAN as well as GPS.
- Tag = 10
- Type = String
- Length = 1
- Default = None
| See also | |
|---|---|
GPS_MEASUREMENT_2D |
|
GPS_MEASUREMENT_3D |
TAG_GPS_PROCESSING_METHOD
const val TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod": String!
A character string recording the name of the method used for location finding. The first byte indicates the character code used, and this is followed by the name of the method.
- Tag = 27
- Type = Undefined
- Default = None
TAG_GPS_SATELLITES
const val TAG_GPS_SATELLITES = "GPSSatellites": String!
Indicates the GPS satellites used for measurements. This tag may be used to describe the number of satellites, their ID number, angle of elevation, azimuth, SNR and other information in ASCII notation. The format is not specified. If the GPS receiver is incapable of taking measurements, value of the tag shall be set to null.
- Tag = 8
- Type = String
- Default = None
TAG_GPS_SPEED
const val TAG_GPS_SPEED = "GPSSpeed": String!
Indicates the speed of GPS receiver movement. The units are indicated by TAG_GPS_SPEED_REF.
- Tag = 13
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_SPEED_REF
const val TAG_GPS_SPEED_REF = "GPSSpeedRef": String!
Indicates the unit used to express the GPS receiver speed of movement.
- Tag = 12
- Type = String
- Length = 1
- Default =
GPS_SPEED_KILOMETERS_PER_HOUR
TAG_GPS_STATUS
const val TAG_GPS_STATUS = "GPSStatus": String!
Indicates the status of the GPS receiver when the image is recorded. 'A' means measurement is in progress, and 'V' means the measurement is interrupted.
- Tag = 9
- Type = String
- Length = 1
- Default = None
TAG_GPS_TIMESTAMP
const val TAG_GPS_TIMESTAMP = "GPSTimeStamp": String!
Indicates the time as UTC (Coordinated Universal Time). TimeStamp is expressed as three unsigned rational values giving the hour, minute, and second.
Note: This attribute is returned from getAttribute and accepted into setAttribute as 3 colon-separated integers, e.g. "11:05:32". Decimal or rational hours, minutes or seconds parts are not supported.
- Tag = 7
- Type = Unsigned rational
- Count = 3
- Default = None
TAG_GPS_TRACK
const val TAG_GPS_TRACK = "GPSTrack": String!
Indicates the direction of GPS receiver movement. The range of values is from 0.00 to 359.99.
- Tag = 15
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_GPS_TRACK_REF
const val TAG_GPS_TRACK_REF = "GPSTrackRef": String!
Indicates the reference for giving the direction of GPS receiver movement.
- Tag = 14
- Type = String
- Length = 1
- Default =
GPS_DIRECTION_TRUE
| See also | |
|---|---|
GPS_DIRECTION_TRUE |
|
GPS_DIRECTION_MAGNETIC |
TAG_GPS_VERSION_ID
const val TAG_GPS_VERSION_ID = "GPSVersionID": String!
Indicates the version of GPS Info IFD. The version is given as 2.3.0.0. This tag is mandatory when GPS-related tags are present. Note that this tag is written as a different byte than TAG_EXIF_VERSION.
- Tag = 0
- Type = Byte
- Count = 4
- Default = 2.3.0.0
- 2300 = Version 2.3
- Other = reserved
TAG_IMAGE_DESCRIPTION
const val TAG_IMAGE_DESCRIPTION = "ImageDescription": String!
An ASCII string giving the title of the image. It is possible to be added a comment such as "1988 company picnic" or the like. Two-byte character codes cannot be used. When a 2-byte code is necessary, TAG_USER_COMMENT is to be used.
- Tag = 270
- Type = String
- Default = None
TAG_IMAGE_LENGTH
const val TAG_IMAGE_LENGTH = "ImageLength": String!
The number of rows of image data. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.
- Tag = 257
- Type = Unsigned short or Unsigned long
- Count = 1
- Default = None
TAG_IMAGE_UNIQUE_ID
const val TAG_IMAGE_UNIQUE_ID = "ImageUniqueID": String!
This tag indicates an identifier assigned uniquely to each image. It is recorded as an ASCII string equivalent to hexadecimal notation and 128-bit fixed length.
- Tag = 42016
- Type = String
- Length = 32
- Default = None
TAG_IMAGE_WIDTH
const val TAG_IMAGE_WIDTH = "ImageWidth": String!
The number of columns of image data, equal to the number of pixels per row. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.
- Tag = 256
- Type = Unsigned short or Unsigned long
- Count = 1
- Default = None
TAG_INTEROPERABILITY_INDEX
const val TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex": String!
Indicates the identification of the Interoperability rule.
- Tag = 1
- Type = String
- Length = 4
- Default = None
- "R98" = Indicates a file conforming to R98 file specification of Recommended Exif Interoperability Rules (Exif R 98) or to DCF basic file stipulated by Design Rule for Camera File System.
- "THM" = Indicates a file conforming to DCF thumbnail file stipulated by Design rule for Camera File System.
- “R03” = Indicates a file conforming to DCF Option File stipulated by Design rule for Camera File System.
TAG_ISO_SPEED
const val TAG_ISO_SPEED = "ISOSpeed": String!
This tag indicates the ISO speed value of a camera or input device that is defined in ISO 12232. When recording this tag, TAG_PHOTOGRAPHIC_SENSITIVITY and TAG_SENSITIVITY_TYPE shall also be recorded.
- Tag = 34867
- Type = Unsigned long
- Count = 1
- Default = None
TAG_ISO_SPEED_LATITUDE_YYY
const val TAG_ISO_SPEED_LATITUDE_YYY = "ISOSpeedLatitudeyyy": String!
This tag indicates the ISO speed latitude yyy value of a camera or input device that is defined in ISO 12232. However, this tag shall not be recorded without TAG_ISO_SPEED and TAG_ISO_SPEED_LATITUDE_ZZZ.
- Tag = 34868
- Type = Unsigned long
- Count = 1
- Default = None
TAG_ISO_SPEED_LATITUDE_ZZZ
const val TAG_ISO_SPEED_LATITUDE_ZZZ = "ISOSpeedLatitudezzz": String!
This tag indicates the ISO speed latitude zzz value of a camera or input device that is defined in ISO 12232. However, this tag shall not be recorded without TAG_ISO_SPEED and TAG_ISO_SPEED_LATITUDE_YYY.
- Tag = 34869
- Type = Unsigned long
- Count = 1
- Default = None
TAG_JPEG_INTERCHANGE_FORMAT
const val TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat": String!
The offset to the start byte (SOI) of JPEG compressed thumbnail data. This shall not be used for primary image JPEG data.
- Tag = 513
- Type = Unsigned long
- Default = None
TAG_JPEG_INTERCHANGE_FORMAT_LENGTH
const val TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength": String!
The number of bytes of JPEG compressed thumbnail data. This is not used for primary image JPEG data. JPEG thumbnails are not divided but are recorded as a continuous JPEG bitstream from SOI to EOI. APPn and COM markers should not be recorded. Compressed thumbnails shall be recorded in no more than 64 KBytes, including all other data to be recorded in APP1.
- Tag = 514
- Type = Unsigned long
- Default = None
TAG_LENS_MAKE
const val TAG_LENS_MAKE = "LensMake": String!
This tag records the lens manufacturer as an ASCII string.
- Tag = 42035
- Type = String
- Default = None
TAG_LENS_MODEL
const val TAG_LENS_MODEL = "LensModel": String!
This tag records the lens’s model name and model number as an ASCII string.
- Tag = 42036
- Type = String
- Default = None
TAG_LENS_SERIAL_NUMBER
const val TAG_LENS_SERIAL_NUMBER = "LensSerialNumber": String!
This tag records the serial number of the interchangeable lens that was used in photography as an ASCII string.
- Tag = 42037
- Type = String
- Default = None
TAG_LENS_SPECIFICATION
const val TAG_LENS_SPECIFICATION = "LensSpecification": String!
This tag notes minimum focal length, maximum focal length, minimum F number in the minimum focal length, and minimum F number in the maximum focal length, which are specification information for the lens that was used in photography. When the minimum F number is unknown, the notation is 0/0.
- Tag = 42034
- Type = Unsigned rational
- Count = 4
- Default = None
- Value 1 := Minimum focal length (unit: mm)
- Value 2 : = Maximum focal length (unit: mm)
- Value 3 : = Minimum F number in the minimum focal length
- Value 4 : = Minimum F number in the maximum focal length
TAG_LIGHT_SOURCE
const val TAG_LIGHT_SOURCE = "LightSource": String!
The kind of light source.
- Tag = 37384
- Type = Unsigned short
- Count = 1
- Default =
LIGHT_SOURCE_UNKNOWN
TAG_MAKE
const val TAG_MAKE = "Make": String!
The manufacturer of the recording equipment. This is the manufacturer of the DSC, scanner, video digitizer or other equipment that generated the image. When the field is left blank, it is treated as unknown.
- Tag = 271
- Type = String
- Default = None
TAG_MAKER_NOTE
const val TAG_MAKER_NOTE = "MakerNote": String!
A tag for manufacturers of Exif/DCF writers to record any desired information. The contents are up to the manufacturer, but this tag shall not be used for any other than its intended purpose.
- Tag = 37500
- Type = Undefined
- Default = None
TAG_MAX_APERTURE_VALUE
const val TAG_MAX_APERTURE_VALUE = "MaxApertureValue": String!
The smallest F number of the lens. The unit is the APEX value. Ordinarily it is given in the range of 00.00 to 99.99, but it is not limited to this range.
- Tag = 37381
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_METERING_MODE
const val TAG_METERING_MODE = "MeteringMode": String!
The metering mode.
- Tag = 37383
- Type = Unsigned short
- Count = 1
- Default =
METERING_MODE_UNKNOWN
TAG_MODEL
const val TAG_MODEL = "Model": String!
The model name or model number of the equipment. This is the model name of number of the DSC, scanner, video digitizer or other equipment that generated the image. When the field is left blank, it is treated as unknown.
- Tag = 272
- Type = String
- Default = None
TAG_NEW_SUBFILE_TYPE
const val TAG_NEW_SUBFILE_TYPE = "NewSubfileType": String!
Type is int. See JEITA CP-3451C Spec Section 3: Bilevel Images.
TAG_OECF
const val TAG_OECF = "OECF": String!
Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524. OECF is the relationship between the camera optical input and the image values.
- Tag = 34856
- Type = Undefined
- Default = None
TAG_OFFSET_TIME
const val TAG_OFFSET_TIME = "OffsetTime": String!
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTime tag. The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-". When the offsets are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 7 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.
- Tag = 36880
- Type = String
- Length = 7
- Default = None
TAG_OFFSET_TIME_DIGITIZED
const val TAG_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized": String!
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeDigitized tag. The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-". When the offsets are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 7 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.
- Tag = 36882
- Type = String
- Length = 7
- Default = None
TAG_OFFSET_TIME_ORIGINAL
const val TAG_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal": String!
A tag used to record the offset from UTC (the time difference from Universal Time Coordinated including daylight saving time) of the time of DateTimeOriginal tag. The format when recording the offset is "±HH:MM". The part of "±" shall be recorded as "+" or "-". When the offsets are unknown, all the character spaces except colons (":") should be filled with blank characters, or else the Interoperability field should be filled with blank characters. The character string length is 7 Bytes including NULL for termination. When the field is left blank, it is treated as unknown.
- Tag = 36881
- Type = String
- Length = 7
- Default = None
TAG_ORF_ASPECT_FRAME
const val TAG_ORF_ASPECT_FRAME = "AspectFrame": String!
Type is int. See Olympus Image Processing tags in http://www.exiv2.org/tags-olympus.html.
TAG_ORF_PREVIEW_IMAGE_LENGTH
const val TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength": String!
Type is int. See Olympus Camera Settings tags in http://www.exiv2.org/tags-olympus.html.
TAG_ORF_PREVIEW_IMAGE_START
const val TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart": String!
Type is int. See Olympus Camera Settings tags in http://www.exiv2.org/tags-olympus.html.
TAG_ORF_THUMBNAIL_IMAGE
const val TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage": String!
Type is undefined. See Olympus MakerNote tags in http://www.exiv2.org/tags-olympus.html.
TAG_ORIENTATION
const val TAG_ORIENTATION = "Orientation": String!
The image orientation viewed in terms of rows and columns.
- Tag = 274
- Type = Unsigned short
- Count = 1
- Default =
ORIENTATION_NORMAL
TAG_PHOTOGRAPHIC_SENSITIVITY
const val TAG_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity": String!
This tag indicates the sensitivity of the camera or input device when the image was shot. More specifically, it indicates one of the following values that are parameters defined in ISO 12232: standard output sensitivity (SOS), recommended exposure index (REI), or ISO speed. Accordingly, if a tag corresponding to a parameter that is designated by TAG_SENSITIVITY_TYPE is recorded, the values of the tag and of this tag are the same. However, if the value is 65535 or higher, the value of this tag shall be 65535. When recording this tag, TAG_SENSITIVITY_TYPE should also be recorded. In addition, while “Count = Any”, only 1 count should be used when recording this tag.
- Tag = 34855
- Type = Unsigned short
- Count = Any
- Default = None
TAG_PHOTOMETRIC_INTERPRETATION
const val TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation": String!
The pixel composition. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.
- Tag = 262
- Type = SHORT
- Count = 1
- Default = None
TAG_PIXEL_X_DIMENSION
const val TAG_PIXEL_X_DIMENSION = "PixelXDimension": String!
Information specific to compressed data. When a compressed file is recorded, the valid width of the meaningful image shall be recorded in this tag, whether or not there is padding data or a restart marker. This tag shall not exist in an uncompressed file.
- Tag = 40962
- Type = Unsigned short or Unsigned long
- Count = 1
- Default = None
TAG_PIXEL_Y_DIMENSION
const val TAG_PIXEL_Y_DIMENSION = "PixelYDimension": String!
Information specific to compressed data. When a compressed file is recorded, the valid height of the meaningful image shall be recorded in this tag, whether or not there is padding data or a restart marker. This tag shall not exist in an uncompressed file. Since data padding is unnecessary in the vertical direction, the number of lines recorded in this valid image height tag will in fact be the same as that recorded in the SOF.
- Tag = 40963
- Type = Unsigned short or Unsigned long
- Count = 1
TAG_PLANAR_CONFIGURATION
const val TAG_PLANAR_CONFIGURATION = "PlanarConfiguration": String!
Indicates whether pixel components are recorded in chunky or planar format. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it. If this field does not exist, the TIFF default, FORMAT_CHUNKY, is assumed.
- Tag = 284
- Type = Unsigned short
- Count = 1
| See also | |
|---|---|
FORMAT_CHUNKY |
|
FORMAT_PLANAR |
TAG_PRIMARY_CHROMATICITIES
const val TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities": String!
The chromaticity of the three primary colors of the image. Normally this tag need not be used, since color space is specified in TAG_COLOR_SPACE.
- Tag = 319
- Type = Unsigned rational
- Count = 6
- Default = None
TAG_RECOMMENDED_EXPOSURE_INDEX
const val TAG_RECOMMENDED_EXPOSURE_INDEX = "RecommendedExposureIndex": String!
This tag indicates the recommended exposure index value of a camera or input device defined in ISO 12232. When recording this tag, TAG_PHOTOGRAPHIC_SENSITIVITY and TAG_SENSITIVITY_TYPE shall also be recorded.
- Tag = 34866
- Type = Unsigned long
- Count = 1
- Default = None
TAG_REFERENCE_BLACK_WHITE
const val TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite": String!
The reference black point value and reference white point value. No defaults are given in TIFF, but the values below are given as defaults here. The color space is declared in a color space information tag, with the default being the value that gives the optimal image characteristics Interoperability these conditions
- Tag = 532
- Type = RATIONAL
- Count = 6
- Default = [0, 255, 0, 255, 0, 255] (when
TAG_PHOTOMETRIC_INTERPRETATIONisPHOTOMETRIC_INTERPRETATION_RGB) or [0, 255, 0, 128, 0, 128] (whenTAG_PHOTOMETRIC_INTERPRETATIONisPHOTOMETRIC_INTERPRETATION_YCBCR)
TAG_RELATED_SOUND_FILE
const val TAG_RELATED_SOUND_FILE = "RelatedSoundFile": String!
This tag is used to record the name of an audio file related to the image data. The only relational information recorded here is the Exif audio file name and extension (an ASCII string consisting of 8 characters + '.' + 3 characters). The path is not recorded.
When using this tag, audio files shall be recorded in conformance to the Exif audio format. Writers can also store the data such as Audio within APP2 as Flashpix extension stream data. Audio files shall be recorded in conformance to the Exif audio format.
- Tag = 40964
- Type = String
- Length = 12
- Default = None
TAG_RESOLUTION_UNIT
const val TAG_RESOLUTION_UNIT = "ResolutionUnit": String!
The unit for measuring TAG_X_RESOLUTION and TAG_Y_RESOLUTION. The same unit is used for both TAG_X_RESOLUTION and TAG_Y_RESOLUTION. If the image resolution is unknown, RESOLUTION_UNIT_INCHES shall be designated.
- Tag = 296
- Type = Unsigned short
- Count = 1
- Default =
RESOLUTION_UNIT_INCHES
TAG_ROWS_PER_STRIP
const val TAG_ROWS_PER_STRIP = "RowsPerStrip": String!
The number of rows per strip. This is the number of rows in the image of one strip when an image is divided into strips. In the case of JPEG compressed data, this designation is not necessary. So, this tag shall not be recorded.
- Tag = 278
- Type = Unsigned short or Unsigned long
- Count = 1
- Default = None
| See also | |
|---|---|
TAG_STRIP_OFFSETS |
|
TAG_STRIP_BYTE_COUNTS |
TAG_RW2_ISO
const val TAG_RW2_ISO = "ISO": String!
Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html
TAG_RW2_JPG_FROM_RAW
const val TAG_RW2_JPG_FROM_RAW = "JpgFromRaw": String!
Type is undefined. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html
TAG_RW2_SENSOR_BOTTOM_BORDER
const val TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder": String!
Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html
TAG_RW2_SENSOR_LEFT_BORDER
const val TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder": String!
Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html
TAG_RW2_SENSOR_RIGHT_BORDER
const val TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder": String!
Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html
TAG_RW2_SENSOR_TOP_BORDER
const val TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder": String!
Type is int. See PanasonicRaw tags in http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PanasonicRaw.html
TAG_SAMPLES_PER_PIXEL
const val TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel": String!
The number of components per pixel. Since this standard applies to RGB and YCbCr images, the value set for this tag is 3. In JPEG compressed data, this tag shall not be used because a JPEG marker is used instead of it.
- Tag = 277
- Type = Unsigned short
- Count = 1
- Default = 3
TAG_SATURATION
const val TAG_SATURATION = "Saturation": String!
This tag indicates the direction of saturation processing applied by the camera when the image was shot.
- Tag = 41993
- Type = Unsigned short
- Count = 1
- Default =
SATURATION_NORMAL
TAG_SCENE_CAPTURE_TYPE
const val TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType": String!
This tag indicates the type of scene that was shot. It may also be used to record the mode in which the image was shot. Note that this differs from TAG_SCENE_TYPE.
- Tag = 41990
- Type = Unsigned short
- Count = 1
- Default = 0
TAG_SCENE_TYPE
const val TAG_SCENE_TYPE = "SceneType": String!
Indicates the type of scene. If a DSC recorded the image, this tag value shall always be set to SCENE_TYPE_DIRECTLY_PHOTOGRAPHED.
- Tag = 41729
- Type = Undefined
- Length = 1
- Default = 1
| See also | |
|---|---|
SCENE_TYPE_DIRECTLY_PHOTOGRAPHED |
TAG_SENSING_METHOD
const val TAG_SENSING_METHOD = "SensingMethod": String!
Indicates the image sensor type on the camera or input device.
- Tag = 41495
- Type = Unsigned short
- Count = 1
- Default = None
TAG_SENSITIVITY_TYPE
const val TAG_SENSITIVITY_TYPE = "SensitivityType": String!
This tag indicates which one of the parameters of ISO12232 is TAG_PHOTOGRAPHIC_SENSITIVITY. Although it is an optional tag, it should be recorded when TAG_PHOTOGRAPHIC_SENSITIVITY is recorded.
- Tag = 34864
- Type = Unsigned short
- Count = 1
- Default = None
TAG_SHARPNESS
const val TAG_SHARPNESS = "Sharpness": String!
This tag indicates the direction of sharpness processing applied by the camera when the image was shot.
- Tag = 41994
- Type = Unsigned short
- Count = 1
- Default =
SHARPNESS_NORMAL
| See also | |
|---|---|
SHARPNESS_NORMAL |
|
SHARPNESS_SOFT |
|
SHARPNESS_HARD |
TAG_SHUTTER_SPEED_VALUE
const val TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue": String!
Shutter speed. The unit is the APEX setting.
- Tag = 37377
- Type = Signed rational
- Count = 1
- Default = None
TAG_SOFTWARE
const val TAG_SOFTWARE = "Software": String!
This tag records the name and version of the software or firmware of the camera or image input device used to generate the image. The detailed format is not specified, but it is recommended that the example shown below be followed. When the field is left blank, it is treated as unknown.
Ex.) "Exif Software Version 1.00a".
- Tag = 305
- Type = String
- Default = None
TAG_SPATIAL_FREQUENCY_RESPONSE
const val TAG_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse": String!
This tag records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233.
- Tag = 41484
- Type = Undefined
- Default = None
TAG_SPECTRAL_SENSITIVITY
const val TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity": String!
Indicates the spectral sensitivity of each channel of the camera used. The tag value is an ASCII string compatible with the standard developed by the ASTM Technical committee.
- Tag = 34852
- Type = String
- Default = None
TAG_STANDARD_OUTPUT_SENSITIVITY
const val TAG_STANDARD_OUTPUT_SENSITIVITY = "StandardOutputSensitivity": String!
This tag indicates the standard output sensitivity value of a camera or input device defined in ISO 12232. When recording this tag, TAG_PHOTOGRAPHIC_SENSITIVITY and TAG_SENSITIVITY_TYPE shall also be recorded.
- Tag = 34865
- Type = Unsigned long
- Count = 1
- Default = None
TAG_STRIP_BYTE_COUNTS
const val TAG_STRIP_BYTE_COUNTS = "StripByteCounts": String!
The total number of bytes in each strip. In the case of JPEG compressed data, this designation is not necessary. So, this tag shall not be recorded.
- Tag = 279
- Type = Unsigned short or Unsigned long
- Count = StripsPerImage (when using
FORMAT_CHUNKY) orTAG_SAMPLES_PER_PIXEL* StripsPerImage (when usingFORMAT_PLANAR) - Default = None
StripsPerImage = floor((TAG_IMAGE_LENGTH + TAG_ROWS_PER_STRIP - 1) / TAG_ROWS_PER_STRIP)
TAG_STRIP_OFFSETS
const val TAG_STRIP_OFFSETS = "StripOffsets": String!
For each strip, the byte offset of that strip. It is recommended that this be selected so the number of strip bytes does not exceed 64 KBytes.In the case of JPEG compressed data, this designation is not necessary. So, this tag shall not be recorded.
- Tag = 273
- Type = Unsigned short or Unsigned long
- Count = StripsPerImage (for
FORMAT_CHUNKY) orTAG_SAMPLES_PER_PIXEL* StripsPerImage (forFORMAT_PLANAR) - Default = None
StripsPerImage = floor((TAG_IMAGE_LENGTH + TAG_ROWS_PER_STRIP - 1) / TAG_ROWS_PER_STRIP)
| See also | |
|---|---|
TAG_ROWS_PER_STRIP |
|
TAG_STRIP_BYTE_COUNTS |
TAG_SUBFILE_TYPE
const val TAG_SUBFILE_TYPE = "SubfileType": String!
Type is int. See JEITA CP-3451C Spec Section 3: Bilevel Images.
TAG_SUBJECT_AREA
const val TAG_SUBJECT_AREA = "SubjectArea": String!
This tag indicates the location and area of the main subject in the overall scene.
- Tag = 37396
- Type = Unsigned short
- Count = 2 or 3 or 4
- Default = None
The subject location and area are defined by Count values as follows.
- Count = 2 Indicates the location of the main subject as coordinates. The first value is the X coordinate and the second is the Y coordinate.
- Count = 3 The area of the main subject is given as a circle. The circular area is expressed as center coordinates and diameter. The first value is the center X coordinate, the second is the center Y coordinate, and the third is the diameter.
- Count = 4 The area of the main subject is given as a rectangle. The rectangular area is expressed as center coordinates and area dimensions. The first value is the center X coordinate, the second is the center Y coordinate, the third is the width of the area, and the fourth is the height of the area.
Note that the coordinate values, width, and height are expressed in relation to the upper left as origin, prior to rotation processing as per TAG_ORIENTATION.
TAG_SUBJECT_DISTANCE
const val TAG_SUBJECT_DISTANCE = "SubjectDistance": String!
The distance to the subject, given in meters.
Note that if the numerator of the recorded value is 0xFFFFFFFF, Infinity shall be indicated; and if the numerator is 0, Distance unknown shall be indicated.
Note: For backwards compatibility this attribute is returned from getAttribute in decimal form (i.e. the format produced by toString). It is accepted into setAttribute in both rational (e.g. "1/3") and decimal forms. The decimal format is anything accepted by parseDouble, e.g. "0.125".
- Tag = 37382
- Type = Unsigned rational
- Count = 1
- Default = None
TAG_SUBJECT_DISTANCE_RANGE
const val TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange": String!
This tag indicates the distance to the subject.
- Tag = 41996
- Type = Unsigned short
- Count = 1
- Default = None
TAG_SUBJECT_LOCATION
const val TAG_SUBJECT_LOCATION = "SubjectLocation": String!
Indicates the location of the main subject in the scene. The value of this tag represents the pixel at the center of the main subject relative to the left edge, prior to rotation processing as per TAG_ORIENTATION. The first value indicates the X column number and second indicates the Y row number. When a camera records the main subject location, it is recommended that TAG_SUBJECT_AREA be used instead of this tag.
- Tag = 41492
- Type = Unsigned short
- Count = 2
- Default = None
TAG_SUBSEC_TIME
const val TAG_SUBSEC_TIME = "SubSecTime": String!
A tag used to record fractions of seconds for TAG_DATETIME.
- Tag = 37520
- Type = String
- Default = None
TAG_SUBSEC_TIME_DIGITIZED
const val TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized": String!
A tag used to record fractions of seconds for TAG_DATETIME_DIGITIZED.
- Tag = 37522
- Type = String
- Default = None
TAG_SUBSEC_TIME_ORIGINAL
const val TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal": String!
A tag used to record fractions of seconds for TAG_DATETIME_ORIGINAL.
- Tag = 37521
- Type = String
- Default = None
TAG_THUMBNAIL_IMAGE_LENGTH
const val TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength": String!
| See also | |
|---|---|
TAG_IMAGE_LENGTH |
TAG_THUMBNAIL_IMAGE_WIDTH
const val TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth": String!
| See also | |
|---|---|
TAG_IMAGE_WIDTH |
TAG_TRANSFER_FUNCTION
const val TAG_TRANSFER_FUNCTION = "TransferFunction": String!
A transfer function for the image, described in tabular style. Normally this tag need not be used, since color space is specified in TAG_COLOR_SPACE.
- Tag = 301
- Type = Unsigned short
- Count = 3 * 256
- Default = None
TAG_USER_COMMENT
const val TAG_USER_COMMENT = "UserComment": String!
A tag for Exif users to write keywords or comments on the image besides those in TAG_IMAGE_DESCRIPTION, and without the character code limitations of it.
- Tag = 37510
- Type = Undefined
- Default = None
TAG_WHITE_BALANCE
const val TAG_WHITE_BALANCE = "WhiteBalance": String!
This tag indicates the white balance mode set when the image was shot.
- Tag = 41987
- Type = Unsigned short
- Count = 1
- Default = None
| See also | |
|---|---|
WHITEBALANCE_AUTO |
|
WHITEBALANCE_MANUAL |
TAG_WHITE_POINT
const val TAG_WHITE_POINT = "WhitePoint": String!
The chromaticity of the white point of the image. Normally this tag need not be used, since color space is specified in TAG_COLOR_SPACE.
- Tag = 318
- Type = Unsigned rational
- Count = 2
- Default = None
TAG_XMP
const val TAG_XMP = "Xmp": String!
Type is byte[]. See Extensible Metadata Platform (XMP) for details on contents.
See also notes about XMP handling in different containers in the class-level javadoc of this class.
TAG_X_RESOLUTION
const val TAG_X_RESOLUTION = "XResolution": String!
The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction. When the image resolution is unknown, 72 [dpi] shall be designated.
- Tag = 282
- Type = Unsigned rational
- Count = 1
- Default = 72
| See also | |
|---|---|
TAG_Y_RESOLUTION |
|
TAG_RESOLUTION_UNIT |
TAG_Y_CB_CR_COEFFICIENTS
const val TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients": String!
The matrix coefficients for transformation from RGB to YCbCr image data. About the default value, please refer to JEITA CP-3451C Spec, Annex D.
- Tag = 529
- Type = Unsigned rational
- Count = 3
TAG_Y_CB_CR_POSITIONING
const val TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning": String!
The position of chrominance components in relation to the luminance component. This field is designated only for JPEG compressed data or uncompressed YCbCr data. The TIFF default is Y_CB_CR_POSITIONING_CENTERED; but when Y:Cb:Cr = 4:2:2 it is recommended in this standard that Y_CB_CR_POSITIONING_CO_SITED be used to record data, in order to improve the image quality when viewed on TV systems. When this field does not exist, the reader shall assume the TIFF default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (Y_CB_CR_POSITIONING_CENTERED) is recommended. If the Exif/DCF reader does not have the capability of supporting both kinds of positioning, it shall follow the TIFF default regardless of the value in this field. It is preferable that readers can support both centered and co-sited positioning.
- Tag = 531
- Type = Unsigned short
- Count = 1
- Default =
Y_CB_CR_POSITIONING_CENTERED
TAG_Y_CB_CR_SUB_SAMPLING
const val TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling": String!
The sampling ratio of chrominance components in relation to the luminance component. In JPEG compressed data a JPEG marker is used instead of this tag. So, this tag shall not be recorded.
- Tag = 530
- Type = Unsigned short
- Count = 2
- [2, 1] = YCbCr4:2:2
- [2, 2] = YCbCr4:2:0
- Other = reserved
TAG_Y_RESOLUTION
const val TAG_Y_RESOLUTION = "YResolution": String!
The number of pixels per TAG_RESOLUTION_UNIT in the TAG_IMAGE_WIDTH direction. The same value as TAG_X_RESOLUTION shall be designated.
- Tag = 283
- Type = Unsigned rational
- Count = 1
- Default = 72
| See also | |
|---|---|
TAG_X_RESOLUTION |
|
TAG_RESOLUTION_UNIT |
const val WHITEBALANCE_AUTO = 0: Int
The constant used by TAG_WHITE_BALANCE to denote the white balance is Auto.
const val WHITEBALANCE_MANUAL = 1: Int
The constant used by TAG_WHITE_BALANCE to denote the white balance is Manual.
WHITE_BALANCE_AUTO
const val WHITE_BALANCE_AUTO = 0: Short
The constant used by TAG_WHITE_BALANCE to denote the white balance is Auto.
WHITE_BALANCE_MANUAL
const val WHITE_BALANCE_MANUAL = 1: Short
The constant used by TAG_WHITE_BALANCE to denote the white balance is Manual.
Y_CB_CR_POSITIONING_CENTERED
const val Y_CB_CR_POSITIONING_CENTERED = 1: Short
The constant used by TAG_Y_CB_CR_POSITIONING to denote Centered positioning.
Y_CB_CR_POSITIONING_CO_SITED
const val Y_CB_CR_POSITIONING_CO_SITED = 2: Short
The constant used by TAG_Y_CB_CR_POSITIONING to denote Co-sited positioning.
Public constructors
ExifInterface
ExifInterface(fileDescriptor: FileDescriptor)
Reads Exif tags from the specified image file descriptor. Attribute mutation is supported for writable and seekable file descriptors only. This constructor will not rewind the offset of the given file descriptor. Developers should close the file descriptor after use.
| Parameters | |
|---|---|
fileDescriptor: FileDescriptor |
the file descriptor of the image data |
| Throws | |
|---|---|
java.lang.NullPointerException |
if file descriptor is null |
java.io.IOException |
if an error occurs while duplicating the file descriptor. |
ExifInterface
ExifInterface(file: File)
Reads Exif tags from the specified image file.
| Parameters | |
|---|---|
file: File |
the file of the image data |
| Throws | |
|---|---|
java.lang.NullPointerException |
if file is null |
java.io.IOException |
if an I/O error occurs while retrieving file descriptor via |
ExifInterface
ExifInterface(filename: String)
Reads Exif tags from the specified image file.
| Parameters | |
|---|---|
filename: String |
the name of the file of the image data |
| Throws | |
|---|---|
java.lang.NullPointerException |
if file name is null |
java.io.IOException |
if an I/O error occurs while retrieving file descriptor via |
ExifInterface
ExifInterface(inputStream: InputStream)
Reads Exif tags from the specified image input stream. Attribute mutation is not supported for input streams. The given input stream will proceed from its current position. Developers should close the input stream after use. This constructor is not intended to be used with an input stream that performs any networking operations.
| Parameters | |
|---|---|
inputStream: InputStream |
the input stream that contains the image data |
| Throws | |
|---|---|
java.lang.NullPointerException |
if the input stream is null |
ExifInterface
ExifInterface(inputStream: InputStream, streamType: Int)
Reads Exif tags from the specified image input stream based on the stream type. Attribute mutation is not supported for input streams. The given input stream will proceed from its current position. Developers should close the input stream after use. This constructor is not intended to be used with an input stream that performs any networking operations.
| Parameters | |
|---|---|
inputStream: InputStream |
the input stream that contains the image data |
streamType: Int |
the type of input stream |
| Throws | |
|---|---|
java.lang.NullPointerException |
if the input stream is null |
java.io.IOException |
if an I/O error occurs while retrieving file descriptor via |
Public functions
getAltitude
fun getAltitude(defaultValue: Double): Double
Return the altitude in meters. If the exif tag does not exist, return defaultValue.
| Parameters | |
|---|---|
defaultValue: Double |
the value to return if the tag is not available. |
getAttribute
fun getAttribute(tag: String): String?
Returns the value of the specified tag or null if there is no such tag in the image file.
| Parameters | |
|---|---|
tag: String |
the name of the tag. |
getAttributeBytes
fun getAttributeBytes(tag: String): ByteArray<Byte>?
Returns the raw bytes for the value of the requested tag inside the image file, or null if the tag is not contained.
getAttributeDouble
fun getAttributeDouble(tag: String, defaultValue: Double): Double
Returns the double value of the tag that is specified as rational or contains a double-formatted value. If there is no such tag in the image file or the value cannot be parsed as double, return defaultValue.
getAttributeInt
fun getAttributeInt(tag: String, defaultValue: Int): Int
Returns the integer value of the specified tag. If there is no such tag in the image file or the value cannot be parsed as integer, return defaultValue.
getAttributeRange
fun getAttributeRange(tag: String): LongArray<Long>?
Returns the offset and length of the requested tag inside the image file, or null if the tag is not contained.
If the attribute has been modified with setAttribute but not yet written to disk with saveAttributes, the returned range will have the correct length for the modified value, but an offset of -1 to indicate its position in the file isn't known.
| Returns | |
|---|---|
LongArray<Long>? |
two-element array, the offset in the first value, and length in the second, or |
| Throws | |
|---|---|
java.lang.IllegalStateException |
if |
getGpsDateTime
fun getGpsDateTime(): Long?
Returns number of milliseconds since 1970-01-01 00:00:00 UTC.
| Returns | |
|---|---|
Long? |
null if the date time information is not available. |
getLatLong
fun getLatLong(): DoubleArray<Double>?
Gets the latitude and longitude values.
If there are valid latitude and longitude values in the image, this method returns a double array where the first element is the latitude and the second element is the longitude. Otherwise, it returns null.
fungetLatLong(output: FloatArray!): Boolean
Stores the latitude and longitude value in a float array. The first element is the latitude, and the second element is the longitude. Returns false if the Exif tags are not available.
getRotationDegrees
fun getRotationDegrees(): Int
Returns the rotation degrees for the current image orientation. If the image is flipped, i.e., isFlipped returns true, the rotation degrees will be base on the assumption that the image is first flipped horizontally (along Y-axis), and then do the rotation. For example, ORIENTATION_TRANSPOSE will be interpreted as flipped horizontally first, and then rotate 270 degrees clockwise.
| Returns | |
|---|---|
Int |
The rotation degrees of the image after the horizontal flipping is applied, if any. |
| See also | |
|---|---|
isFlipped |
getThumbnail
fun getThumbnail(): ByteArray<Byte>?
Returns the JPEG compressed thumbnail inside the image file, or null if there is no JPEG compressed thumbnail. The returned data can be decoded using decodeByteArray
getThumbnailBitmap
fun getThumbnailBitmap(): Bitmap?
Creates and returns a Bitmap object of the thumbnail image based on the byte array and the thumbnail compression value, or null if the compression type is unsupported.
getThumbnailBytes
fun getThumbnailBytes(): ByteArray<Byte>?
Returns the thumbnail bytes inside the image file, regardless of the compression type of the thumbnail image.
getThumbnailRange
fun getThumbnailRange(): LongArray<Long>?
Returns the offset and length of thumbnail inside the image file, or null if either there is no thumbnail or the thumbnail bytes are stored non-consecutively.
| Returns | |
|---|---|
LongArray<Long>? |
two-element array, the offset in the first value, and length in the second, or |
| Throws | |
|---|---|
java.lang.IllegalStateException |
if |
hasAttribute
fun hasAttribute(tag: String): Boolean
Returns true if the image file has the given attribute defined.
| Parameters | |
|---|---|
tag: String |
the name of the tag. |
hasThumbnail
fun hasThumbnail(): Boolean
Returns true if the image file has a thumbnail.
isFlipped
fun isFlipped(): Boolean
Returns if the current image orientation is flipped.
| See also | |
|---|---|
getRotationDegrees |
isSupportedMimeType
java-static fun isSupportedMimeType(mimeType: String): Boolean
Returns whether ExifInterface currently supports reading data from the specified mime type or not.
| Parameters | |
|---|---|
mimeType: String |
the string value of mime type |
isThumbnailCompressed
fun isThumbnailCompressed(): Boolean
Returns true if thumbnail image is JPEG Compressed, or false if either thumbnail image does not exist or thumbnail image is uncompressed.
resetOrientation
fun resetOrientation(): Unit
Resets the TAG_ORIENTATION of the image to be ORIENTATION_NORMAL.
rotate
fun rotate(degree: Int): Unit
Rotates the image by the given degree clockwise. The degree should be a multiple of 90 (e.g, 90, 180, -90, etc.).
| Parameters | |
|---|---|
degree: Int |
The degree of rotation. |
saveAttributes
fun saveAttributes(): Unit
Save the tag data into the original image file. This is expensive because it involves copying all the data from one file to another and deleting the old file and renaming the other. It's best to use setAttribute to set all attributes to write and make a single call rather than multiple calls for each attribute.
This method is supported for JPEG, PNG, and WebP formats.
Note: after calling this method, any attempts to obtain range information from getAttributeRange or getThumbnailRange will throw IllegalStateException, since the offsets may have changed in the newly written file.
For WebP format, the Exif data will be stored as an Extended File Format, and it may not be supported for older readers.
For PNG format, the Exif data will be stored as an "eXIf" chunk as per "Extensions to the PNG 1.2 Specification, Version 1.5.0".
| Throws | |
|---|---|
java.io.IOException |
setAttribute
fun setAttribute(tag: String, value: String?): Unit
Sets the value of the specified tag.
setGpsInfo
fun setGpsInfo(location: Location?): Unit
Sets the GPS-related information. It will set GPS processing method, latitude and longitude values, GPS timestamp, and speed information at the same time. This method is a No-Op if the location parameter is null.
setLatLong
fun setLatLong(latitude: Double, longitude: Double): Unit
Sets the latitude and longitude values.
| Parameters | |
|---|---|
latitude: Double |
the decimal value of latitude. Must be a valid double value between -90.0 and 90.0. |
longitude: Double |
the decimal value of longitude. Must be a valid double value between -180.0 and 180.0. |
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
If |