public class ExifInterface extends Object
Supported formats are: JPEG, DNG, CR2, NEF, NRW, ARW, RW2, ORF and RAF.
Attribute mutation is supported for JPEG image files.
Constructor and Description |
---|
ExifInterface(FileDescriptor fileDescriptor)
Reads Exif tags from the specified image file descriptor.
|
ExifInterface(InputStream inputStream)
Reads Exif tags from the specified image input stream.
|
ExifInterface(String filename)
Reads Exif tags from the specified image file.
|
Modifier and Type | Method and Description |
---|---|
double |
getAltitude(double defaultValue)
Return the altitude in meters.
|
String |
getAttribute(String tag)
Returns the value of the specified tag or
null if there
is no such tag in the image file. |
double |
getAttributeDouble(String tag,
double defaultValue)
Returns the double value of the tag that is specified as rational or contains a
double-formatted value.
|
int |
getAttributeInt(String tag,
int defaultValue)
Returns the integer value of the specified tag.
|
long |
getDateTime()
Returns number of milliseconds since Jan. 1, 1970, midnight local time.
|
long |
getGpsDateTime()
Returns number of milliseconds since Jan. 1, 1970, midnight UTC.
|
boolean |
getLatLong(float[] output)
Stores the latitude and longitude value in a float array.
|
byte[] |
getThumbnail()
Returns the thumbnail inside the image file, or
null if there is no thumbnail. |
long[] |
getThumbnailRange()
Returns the offset and length of thumbnail inside the image file, or
null if there is no thumbnail. |
boolean |
hasThumbnail()
Returns true if the image file has a thumbnail.
|
void |
saveAttributes()
Save the tag data into the original image file.
|
void |
setAttribute(String tag,
String value)
Set the value of the specified tag.
|
public static final String TAG_ARTIST
public static final String TAG_BITS_PER_SAMPLE
public static final String TAG_COMPRESSION
public static final String TAG_COPYRIGHT
public static final String TAG_DATETIME
public static final String TAG_IMAGE_DESCRIPTION
public static final String TAG_IMAGE_LENGTH
public static final String TAG_IMAGE_WIDTH
public static final String TAG_JPEG_INTERCHANGE_FORMAT
public static final String TAG_JPEG_INTERCHANGE_FORMAT_LENGTH
public static final String TAG_MAKE
public static final String TAG_MODEL
public static final String TAG_ORIENTATION
public static final String TAG_PHOTOMETRIC_INTERPRETATION
public static final String TAG_PLANAR_CONFIGURATION
public static final String TAG_PRIMARY_CHROMATICITIES
public static final String TAG_REFERENCE_BLACK_WHITE
public static final String TAG_RESOLUTION_UNIT
public static final String TAG_ROWS_PER_STRIP
public static final String TAG_SAMPLES_PER_PIXEL
public static final String TAG_SOFTWARE
public static final String TAG_STRIP_BYTE_COUNTS
public static final String TAG_STRIP_OFFSETS
public static final String TAG_TRANSFER_FUNCTION
public static final String TAG_WHITE_POINT
public static final String TAG_X_RESOLUTION
public static final String TAG_Y_CB_CR_COEFFICIENTS
public static final String TAG_Y_CB_CR_POSITIONING
public static final String TAG_Y_CB_CR_SUB_SAMPLING
public static final String TAG_Y_RESOLUTION
public static final String TAG_APERTURE_VALUE
public static final String TAG_BRIGHTNESS_VALUE
public static final String TAG_CFA_PATTERN
public static final String TAG_COLOR_SPACE
public static final String TAG_COMPONENTS_CONFIGURATION
public static final String TAG_COMPRESSED_BITS_PER_PIXEL
public static final String TAG_CONTRAST
public static final String TAG_CUSTOM_RENDERED
public static final String TAG_DATETIME_DIGITIZED
public static final String TAG_DATETIME_ORIGINAL
public static final String TAG_DEVICE_SETTING_DESCRIPTION
public static final String TAG_DIGITAL_ZOOM_RATIO
public static final String TAG_EXIF_VERSION
public static final String TAG_EXPOSURE_BIAS_VALUE
public static final String TAG_EXPOSURE_INDEX
public static final String TAG_EXPOSURE_MODE
public static final String TAG_EXPOSURE_PROGRAM
public static final String TAG_EXPOSURE_TIME
public static final String TAG_F_NUMBER
@Deprecated public static final String TAG_APERTURE
TAG_F_NUMBER
insteadpublic static final String TAG_FILE_SOURCE
public static final String TAG_FLASH
public static final String TAG_FLASH_ENERGY
public static final String TAG_FLASHPIX_VERSION
public static final String TAG_FOCAL_LENGTH
public static final String TAG_FOCAL_LENGTH_IN_35MM_FILM
public static final String TAG_FOCAL_PLANE_RESOLUTION_UNIT
public static final String TAG_FOCAL_PLANE_X_RESOLUTION
public static final String TAG_FOCAL_PLANE_Y_RESOLUTION
public static final String TAG_GAIN_CONTROL
public static final String TAG_ISO_SPEED_RATINGS
@Deprecated public static final String TAG_ISO
TAG_ISO_SPEED_RATINGS
insteadpublic static final String TAG_IMAGE_UNIQUE_ID
public static final String TAG_LIGHT_SOURCE
public static final String TAG_MAKER_NOTE
public static final String TAG_MAX_APERTURE_VALUE
public static final String TAG_METERING_MODE
public static final String TAG_OECF
public static final String TAG_PIXEL_X_DIMENSION
public static final String TAG_PIXEL_Y_DIMENSION
public static final String TAG_RELATED_SOUND_FILE
public static final String TAG_SATURATION
public static final String TAG_SCENE_CAPTURE_TYPE
public static final String TAG_SCENE_TYPE
public static final String TAG_SENSING_METHOD
public static final String TAG_SHARPNESS
public static final String TAG_SHUTTER_SPEED_VALUE
public static final String TAG_SPATIAL_FREQUENCY_RESPONSE
public static final String TAG_SPECTRAL_SENSITIVITY
public static final String TAG_SUBSEC_TIME
public static final String TAG_SUBSEC_TIME_DIG
TAG_SUBSEC_TIME_DIGITIZED
insteadpublic static final String TAG_SUBSEC_TIME_DIGITIZED
public static final String TAG_SUBSEC_TIME_ORIG
TAG_SUBSEC_TIME_ORIGINAL
insteadpublic static final String TAG_SUBSEC_TIME_ORIGINAL
public static final String TAG_SUBJECT_AREA
public static final String TAG_SUBJECT_DISTANCE
public static final String TAG_SUBJECT_DISTANCE_RANGE
public static final String TAG_SUBJECT_LOCATION
public static final String TAG_USER_COMMENT
public static final String TAG_WHITE_BALANCE
public static final String TAG_GPS_ALTITUDE
public static final String TAG_GPS_ALTITUDE_REF
public static final String TAG_GPS_AREA_INFORMATION
public static final String TAG_GPS_DOP
public static final String TAG_GPS_DATESTAMP
public static final String TAG_GPS_DEST_BEARING
public static final String TAG_GPS_DEST_BEARING_REF
public static final String TAG_GPS_DEST_DISTANCE
public static final String TAG_GPS_DEST_DISTANCE_REF
public static final String TAG_GPS_DEST_LATITUDE
public static final String TAG_GPS_DEST_LATITUDE_REF
public static final String TAG_GPS_DEST_LONGITUDE
public static final String TAG_GPS_DEST_LONGITUDE_REF
public static final String TAG_GPS_DIFFERENTIAL
public static final String TAG_GPS_IMG_DIRECTION
public static final String TAG_GPS_IMG_DIRECTION_REF
public static final String TAG_GPS_LATITUDE
public static final String TAG_GPS_LATITUDE_REF
public static final String TAG_GPS_LONGITUDE
public static final String TAG_GPS_LONGITUDE_REF
public static final String TAG_GPS_MAP_DATUM
public static final String TAG_GPS_MEASURE_MODE
public static final String TAG_GPS_PROCESSING_METHOD
public static final String TAG_GPS_SATELLITES
public static final String TAG_GPS_SPEED
public static final String TAG_GPS_SPEED_REF
public static final String TAG_GPS_STATUS
public static final String TAG_GPS_TIMESTAMP
public static final String TAG_GPS_TRACK
public static final String TAG_GPS_TRACK_REF
public static final String TAG_GPS_VERSION_ID
public static final String TAG_INTEROPERABILITY_INDEX
public static final String TAG_THUMBNAIL_IMAGE_LENGTH
public static final String TAG_THUMBNAIL_IMAGE_WIDTH
public static final int ORIENTATION_UNDEFINED
public static final int ORIENTATION_NORMAL
public static final int ORIENTATION_FLIP_HORIZONTAL
public static final int ORIENTATION_ROTATE_180
public static final int ORIENTATION_FLIP_VERTICAL
public static final int ORIENTATION_TRANSPOSE
public static final int ORIENTATION_ROTATE_90
public static final int ORIENTATION_TRANSVERSE
public static final int ORIENTATION_ROTATE_270
public static final int WHITEBALANCE_AUTO
public static final int WHITEBALANCE_MANUAL
public ExifInterface(String filename) throws IOException
IOException
public ExifInterface(FileDescriptor fileDescriptor) throws IOException
IOException
public ExifInterface(InputStream inputStream) throws IOException
IOException
public String getAttribute(String tag)
null
if there
is no such tag in the image file.tag
- the name of the tag.public int getAttributeInt(String tag, int defaultValue)
tag
- the name of the tag.defaultValue
- the value to return if the tag is not available.public double getAttributeDouble(String tag, double defaultValue)
tag
- the name of the tag.defaultValue
- the value to return if the tag is not available.public void setAttribute(String tag, String value)
tag
- the name of the tag.value
- the value of the tag.public void saveAttributes() throws IOException
setAttribute(String,String)
to set all attributes to write
and make a single call rather than multiple calls for each attribute.
This method is only supported for JPEG files.
IOException
public boolean hasThumbnail()
public byte[] getThumbnail()
null
if there is no thumbnail.
The returned data is in JPEG format and can be decoded using
BitmapFactory.decodeByteArray(byte[],int,int)
public long[] getThumbnailRange()
null
if there is no thumbnail.null
if no thumbnail was found.public boolean getLatLong(float[] output)
public double getAltitude(double defaultValue)
defaultValue
- the value to return if the tag is not available.public long getDateTime()
public long getGpsDateTime()