com.drew.metadata.exif
Class ExifDirectory

java.lang.Object
  extended by com.drew.metadata.Directory
      extended by com.drew.metadata.exif.ExifDirectory
All Implemented Interfaces:
Serializable

public class ExifDirectory
extends Directory

Describes Exif tags such as Camera Model, Date Taken, Aperture and Shutter Speed.

See Also:
Serialized Form

Field Summary
static int COMPRESSION_JPEG
           
static int COMPRESSION_NONE
           
static int PHOTOMETRIC_INTERPRETATION_MONOCHROME
           
static int PHOTOMETRIC_INTERPRETATION_RGB
           
static int PHOTOMETRIC_INTERPRETATION_YCBCR
           
static int TAG_35MM_FILM_EQUIV_FOCAL_LENGTH
          This tag indicates the equivalent focal length assuming a 35mm film camera, in mm.
static int TAG_APERTURE
          The actual aperture value of lens when the image was taken.
static int TAG_ARTIST
           
static int TAG_BATTERY_LEVEL
           
static int TAG_BITS_PER_SAMPLE
          When image format is no compression, this value shows the number of bits per component for each pixel.
static int TAG_BRIGHTNESS_VALUE
           
static int TAG_CFA_PATTERN
           
static int TAG_CFA_PATTERN_2
          There are two definitions for CFA pattern, I don't know the difference...
static int TAG_CFA_REPEAT_PATTERN_DIM
           
static int TAG_COLOR_SPACE
          Defines Color Space.
static int TAG_COMPONENTS_CONFIGURATION
           
static int TAG_COMPRESSION
          Shows compression method for Thumbnail.
static int TAG_COMPRESSION_LEVEL
          Average (rough estimate) compression level in JPEG bits per pixel.
static int TAG_CONTRAST
          This tag indicates the direction of contrast processing applied by the camera when the image was shot.
static int TAG_COPYRIGHT
           
static int TAG_CUSTOM_RENDERED
          This tag indicates the use of special processing on image data, such as rendering geared to output.
static int TAG_DATETIME
           
static int TAG_DATETIME_DIGITIZED
           
static int TAG_DATETIME_ORIGINAL
           
static int TAG_DEVICE_SETTING_DESCRIPTION
          This tag indicates information on the picture-taking conditions of a particular camera model.
static int TAG_DIGITAL_ZOOM_RATIO
          This tag indicates the digital zoom ratio when the image was shot.
static int TAG_DOCUMENT_NAME
           
static int TAG_EXIF_IMAGE_HEIGHT
           
static int TAG_EXIF_IMAGE_WIDTH
           
static int TAG_EXIF_VERSION
           
static int TAG_EXPOSURE_BIAS
           
static int TAG_EXPOSURE_INDEX
           
static int TAG_EXPOSURE_INDEX_2
          There are two definitions for exposure index, I don't know the difference...
static int TAG_EXPOSURE_MODE
          This tag indicates the exposure mode set when the image was shot.
static int TAG_EXPOSURE_PROGRAM
          Exposure program that the camera used when image was taken.
static int TAG_EXPOSURE_TIME
          Exposure time (reciprocal of shutter speed).
static int TAG_FILE_SOURCE
           
static int TAG_FILL_ORDER
          1 = Normal 2 = Reversed
static int TAG_FLASH
          0x0 = 0000000 = No Flash 0x1 = 0000001 = Fired 0x5 = 0000101 = Fired, Return not detected 0x7 = 0000111 = Fired, Return detected 0x9 = 0001001 = On 0xd = 0001101 = On, Return not detected 0xf = 0001111 = On, Return detected 0x10 = 0010000 = Off 0x18 = 0011000 = Auto, Did not fire 0x19 = 0011001 = Auto, Fired 0x1d = 0011101 = Auto, Fired, Return not detected 0x1f = 0011111 = Auto, Fired, Return detected 0x20 = 0100000 = No flash function 0x41 = 1000001 = Fired, Red-eye reduction 0x45 = 1000101 = Fired, Red-eye reduction, Return not detected 0x47 = 1000111 = Fired, Red-eye reduction, Return detected 0x49 = 1001001 = On, Red-eye reduction 0x4d = 1001101 = On, Red-eye reduction, Return not detected 0x4f = 1001111 = On, Red-eye reduction, Return detected 0x59 = 1011001 = Auto, Fired, Red-eye reduction 0x5d = 1011101 = Auto, Fired, Red-eye reduction, Return not detected 0x5f = 1011111 = Auto, Fired, Red-eye reduction, Return detected 6543210 (positions) This is a bitmask.
static int TAG_FLASH_ENERGY
           
static int TAG_FLASH_ENERGY_2
           
static int TAG_FLASHPIX_VERSION
           
static int TAG_FNUMBER
          The actual F-number(F-stop) of lens when the image was taken.
static int TAG_FOCAL_LENGTH
          Focal length of lens used to take image.
static int TAG_FOCAL_PLANE_UNIT
          Unit of FocalPlaneXResoluton/FocalPlaneYResolution.
static int TAG_FOCAL_PLANE_X_RES
           
static int TAG_FOCAL_PLANE_Y_RES
           
static int TAG_GAIN_CONTROL
          This tag indicates the degree of overall image gain adjustment.
static int TAG_GPS_INFO
           
static int TAG_IMAGE_DESCRIPTION
           
static int TAG_IMAGE_HISTORY
           
static int TAG_IMAGE_NUMBER
           
static int TAG_IMAGE_UNIQUE_ID
          This tag indicates an identifier assigned uniquely to each image.
static int TAG_INTER_COLOR_PROFILE
           
static int TAG_INTERLACE
           
static int TAG_IPTC_NAA
           
static int TAG_ISO_EQUIVALENT
           
static int TAG_JPEG_TABLES
           
static int TAG_LIGHT_SOURCE
           
static int TAG_MAKE
           
static int TAG_MAX_APERTURE
          Maximum aperture value of lens.
static int TAG_MAX_SAMPLE_VALUE
           
static int TAG_METERING_MODE
          Exposure metering method.
static int TAG_MIN_SAMPLE_VALUE
           
static int TAG_MODEL
           
static int TAG_NEW_SUBFILE_TYPE
          The new subfile type tag.
static int TAG_NOISE
           
static int TAG_OECF
           
static int TAG_ORIENTATION
           
static int TAG_PAGE_NAME
           
static int TAG_PHOTOMETRIC_INTERPRETATION
          Shows the color space of the image data components.
static int TAG_PLANAR_CONFIGURATION
          When image format is no compression YCbCr, this value shows byte aligns of YCbCr data.
static int TAG_PREDICTOR
           
static int TAG_PRIMARY_CHROMATICITIES
           
static int TAG_REFERENCE_BLACK_WHITE
           
static int TAG_RELATED_SOUND_FILE
           
static int TAG_RESOLUTION_UNIT
           
static int TAG_ROWS_PER_STRIP
          The raster is codified by a single block of data holding this many rows.
static int TAG_SAMPLES_PER_PIXEL
          Each pixel is composed of this many samples.
static int TAG_SATURATION
          This tag indicates the direction of saturation processing applied by the camera when the image was shot.
static int TAG_SCENE_CAPTURE_TYPE
          This tag indicates the type of scene that was shot.
static int TAG_SCENE_TYPE
           
static int TAG_SECURITY_CLASSIFICATION
           
static int TAG_SELF_TIMER_MODE
           
static int TAG_SENSING_METHOD
           
static int TAG_SHARPNESS
          This tag indicates the direction of sharpness processing applied by the camera when the image was shot.
static int TAG_SHUTTER_SPEED
          Shutter speed by APEX value.
static int TAG_SOFTWARE
           
static int TAG_SPATIAL_FREQ_RESPONSE
           
static int TAG_SPATIAL_FREQ_RESPONSE_2
           
static int TAG_SPECTRAL_SENSITIVITY
           
static int TAG_STRIP_BYTE_COUNTS
          The size of the raster data in bytes.
static int TAG_STRIP_OFFSETS
          The position in the file of raster data.
static int TAG_SUB_IFDS
           
static int TAG_SUBFILE_TYPE
          The old subfile type tag.
static int TAG_SUBJECT_DISTANCE
          Indicates the distance the autofocus camera is focused to.
static int TAG_SUBJECT_DISTANCE_RANGE
          This tag indicates the distance to the subject.
static int TAG_SUBJECT_LOCATION
           
static int TAG_SUBJECT_LOCATION_2
           
static int TAG_SUBSECOND_TIME
           
static int TAG_SUBSECOND_TIME_DIGITIZED
           
static int TAG_SUBSECOND_TIME_ORIGINAL
           
static int TAG_THRESHOLDING
          1 = No dithering or halftoning 2 = Ordered dither or halftone 3 = Randomized dither
static int TAG_THUMBNAIL_DATA
           
static int TAG_THUMBNAIL_IMAGE_HEIGHT
           
static int TAG_THUMBNAIL_IMAGE_WIDTH
           
static int TAG_THUMBNAIL_LENGTH
           
static int TAG_THUMBNAIL_OFFSET
           
static int TAG_TIFF_EP_STANDARD_ID
           
static int TAG_TILE_BYTE_COUNTS
           
static int TAG_TILE_LENGTH
           
static int TAG_TILE_OFFSETS
           
static int TAG_TILE_WIDTH
           
static int TAG_TIME_ZONE_OFFSET
           
static int TAG_TRANSFER_FUNCTION
           
static int TAG_USER_COMMENT
           
static int TAG_WHITE_BALANCE
          White balance (aka light source).
static int TAG_WHITE_BALANCE_MODE
          This tag indicates the white balance mode set when the image was shot.
static int TAG_WHITE_POINT
           
static int TAG_WIN_AUTHOR
          The image author, as used by Windows XP (called Artist in the Windows shell).
static int TAG_WIN_COMMENT
          The image comment, as used by Windows XP.
static int TAG_WIN_KEYWORDS
          The image keywords, as used by Windows XP.
static int TAG_WIN_SUBJECT
          The image subject, as used by Windows XP.
static int TAG_WIN_TITLE
          The image title, as used by Windows XP.
static int TAG_X_RESOLUTION
           
static int TAG_Y_RESOLUTION
           
static int TAG_YCBCR_COEFFICIENTS
           
static int TAG_YCBCR_POSITIONING
           
static int TAG_YCBCR_SUBSAMPLING
           
protected static HashMap tagNameMap
           
 
Fields inherited from class com.drew.metadata.Directory
_definedTagList, _descriptor, _tagMap
 
Constructor Summary
ExifDirectory()
           
 
Method Summary
 boolean containsThumbnail()
           
 String getName()
          Provides the name of the directory, for display purposes.
protected  HashMap getTagNameMap()
          Provides the map of tag names, hashed by tag type identifier.
 byte[] getThumbnailData()
           
 void writeThumbnail(String filename)
           
 
Methods inherited from class com.drew.metadata.Directory
addError, containsTag, getBoolean, getByteArray, getDate, getDescription, getDouble, getErrorCount, getErrors, getFloat, getInt, getIntArray, getLong, getObject, getRational, getRationalArray, getString, getStringArray, getTagCount, getTagIterator, getTagName, hasErrors, setBoolean, setByteArray, setDate, setDescriptor, setDouble, setFloat, setInt, setIntArray, setLong, setObject, setObjectArray, setRational, setRationalArray, setString, setStringArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TAG_SUB_IFDS

public static final int TAG_SUB_IFDS
See Also:
Constant Field Values

TAG_GPS_INFO

public static final int TAG_GPS_INFO
See Also:
Constant Field Values

TAG_APERTURE

public static final int TAG_APERTURE
The actual aperture value of lens when the image was taken. Unit is APEX. To convert this value to ordinary F-number (F-stop), calculate this value's power of root 2 (=1.4142). For example, if the ApertureValue is '5', F-number is 1.4142^5 = F5.6.

See Also:
Constant Field Values

TAG_BITS_PER_SAMPLE

public static final int TAG_BITS_PER_SAMPLE
When image format is no compression, this value shows the number of bits per component for each pixel. Usually this value is '8,8,8'.

See Also:
Constant Field Values

TAG_COMPRESSION

public static final int TAG_COMPRESSION
Shows compression method for Thumbnail. 1 = Uncompressed 2 = CCITT 1D 3 = T4/Group 3 Fax 4 = T6/Group 4 Fax 5 = LZW 6 = JPEG (old-style) 7 = JPEG 8 = Adobe Deflate 9 = JBIG B&W 10 = JBIG Color 32766 = Next 32771 = CCIRLEW 32773 = PackBits 32809 = Thunderscan 32895 = IT8CTPAD 32896 = IT8LW 32897 = IT8MP 32898 = IT8BL 32908 = PixarFilm 32909 = PixarLog 32946 = Deflate 32947 = DCS 34661 = JBIG 34676 = SGILog 34677 = SGILog24 34712 = JPEG 2000 34713 = Nikon NEF Compressed

See Also:
Constant Field Values

COMPRESSION_NONE

public static final int COMPRESSION_NONE
See Also:
Constant Field Values

COMPRESSION_JPEG

public static final int COMPRESSION_JPEG
See Also:
Constant Field Values

TAG_PHOTOMETRIC_INTERPRETATION

public static final int TAG_PHOTOMETRIC_INTERPRETATION
Shows the color space of the image data components. 0 = WhiteIsZero 1 = BlackIsZero 2 = RGB 3 = RGB Palette 4 = Transparency Mask 5 = CMYK 6 = YCbCr 8 = CIELab 9 = ICCLab 10 = ITULab 32803 = Color Filter Array 32844 = Pixar LogL 32845 = Pixar LogLuv 34892 = Linear Raw

See Also:
Constant Field Values

TAG_THRESHOLDING

public static final int TAG_THRESHOLDING
1 = No dithering or halftoning 2 = Ordered dither or halftone 3 = Randomized dither

See Also:
Constant Field Values

PHOTOMETRIC_INTERPRETATION_MONOCHROME

public static final int PHOTOMETRIC_INTERPRETATION_MONOCHROME
See Also:
Constant Field Values

PHOTOMETRIC_INTERPRETATION_RGB

public static final int PHOTOMETRIC_INTERPRETATION_RGB
See Also:
Constant Field Values

PHOTOMETRIC_INTERPRETATION_YCBCR

public static final int PHOTOMETRIC_INTERPRETATION_YCBCR
See Also:
Constant Field Values

TAG_STRIP_OFFSETS

public static final int TAG_STRIP_OFFSETS
The position in the file of raster data.

See Also:
Constant Field Values

TAG_SAMPLES_PER_PIXEL

public static final int TAG_SAMPLES_PER_PIXEL
Each pixel is composed of this many samples.

See Also:
Constant Field Values

TAG_ROWS_PER_STRIP

public static final int TAG_ROWS_PER_STRIP
The raster is codified by a single block of data holding this many rows.

See Also:
Constant Field Values

TAG_STRIP_BYTE_COUNTS

public static final int TAG_STRIP_BYTE_COUNTS
The size of the raster data in bytes.

See Also:
Constant Field Values

TAG_MIN_SAMPLE_VALUE

public static final int TAG_MIN_SAMPLE_VALUE
See Also:
Constant Field Values

TAG_MAX_SAMPLE_VALUE

public static final int TAG_MAX_SAMPLE_VALUE
See Also:
Constant Field Values

TAG_PLANAR_CONFIGURATION

public static final int TAG_PLANAR_CONFIGURATION
When image format is no compression YCbCr, this value shows byte aligns of YCbCr data. If value is '1', Y/Cb/Cr value is chunky format, contiguous for each subsampling pixel. If value is '2', Y/Cb/Cr value is separated and stored to Y plane/Cb plane/Cr plane format.

See Also:
Constant Field Values

TAG_YCBCR_SUBSAMPLING

public static final int TAG_YCBCR_SUBSAMPLING
See Also:
Constant Field Values

TAG_IMAGE_DESCRIPTION

public static final int TAG_IMAGE_DESCRIPTION
See Also:
Constant Field Values

TAG_SOFTWARE

public static final int TAG_SOFTWARE
See Also:
Constant Field Values

TAG_DATETIME

public static final int TAG_DATETIME
See Also:
Constant Field Values

TAG_WHITE_POINT

public static final int TAG_WHITE_POINT
See Also:
Constant Field Values

TAG_PRIMARY_CHROMATICITIES

public static final int TAG_PRIMARY_CHROMATICITIES
See Also:
Constant Field Values

TAG_YCBCR_COEFFICIENTS

public static final int TAG_YCBCR_COEFFICIENTS
See Also:
Constant Field Values

TAG_REFERENCE_BLACK_WHITE

public static final int TAG_REFERENCE_BLACK_WHITE
See Also:
Constant Field Values

TAG_COPYRIGHT

public static final int TAG_COPYRIGHT
See Also:
Constant Field Values

TAG_NEW_SUBFILE_TYPE

public static final int TAG_NEW_SUBFILE_TYPE
The new subfile type tag. 0 = Full-resolution Image 1 = Reduced-resolution image 2 = Single page of multi-page image 3 = Single page of multi-page reduced-resolution image 4 = Transparency mask 5 = Transparency mask of reduced-resolution image 6 = Transparency mask of multi-page image 7 = Transparency mask of reduced-resolution multi-page image

See Also:
Constant Field Values

TAG_SUBFILE_TYPE

public static final int TAG_SUBFILE_TYPE
The old subfile type tag. 1 = Full-resolution image (Main image) 2 = Reduced-resolution image (Thumbnail) 3 = Single page of multi-page image

See Also:
Constant Field Values

TAG_TRANSFER_FUNCTION

public static final int TAG_TRANSFER_FUNCTION
See Also:
Constant Field Values

TAG_ARTIST

public static final int TAG_ARTIST
See Also:
Constant Field Values

TAG_PREDICTOR

public static final int TAG_PREDICTOR
See Also:
Constant Field Values

TAG_TILE_WIDTH

public static final int TAG_TILE_WIDTH
See Also:
Constant Field Values

TAG_TILE_LENGTH

public static final int TAG_TILE_LENGTH
See Also:
Constant Field Values

TAG_TILE_OFFSETS

public static final int TAG_TILE_OFFSETS
See Also:
Constant Field Values

TAG_TILE_BYTE_COUNTS

public static final int TAG_TILE_BYTE_COUNTS
See Also:
Constant Field Values

TAG_JPEG_TABLES

public static final int TAG_JPEG_TABLES
See Also:
Constant Field Values

TAG_CFA_REPEAT_PATTERN_DIM

public static final int TAG_CFA_REPEAT_PATTERN_DIM
See Also:
Constant Field Values

TAG_CFA_PATTERN_2

public static final int TAG_CFA_PATTERN_2
There are two definitions for CFA pattern, I don't know the difference...

See Also:
Constant Field Values

TAG_BATTERY_LEVEL

public static final int TAG_BATTERY_LEVEL
See Also:
Constant Field Values

TAG_IPTC_NAA

public static final int TAG_IPTC_NAA
See Also:
Constant Field Values

TAG_INTER_COLOR_PROFILE

public static final int TAG_INTER_COLOR_PROFILE
See Also:
Constant Field Values

TAG_SPECTRAL_SENSITIVITY

public static final int TAG_SPECTRAL_SENSITIVITY
See Also:
Constant Field Values

TAG_OECF

public static final int TAG_OECF
See Also:
Constant Field Values

TAG_INTERLACE

public static final int TAG_INTERLACE
See Also:
Constant Field Values

TAG_TIME_ZONE_OFFSET

public static final int TAG_TIME_ZONE_OFFSET
See Also:
Constant Field Values

TAG_SELF_TIMER_MODE

public static final int TAG_SELF_TIMER_MODE
See Also:
Constant Field Values

TAG_FLASH_ENERGY

public static final int TAG_FLASH_ENERGY
See Also:
Constant Field Values

TAG_SPATIAL_FREQ_RESPONSE

public static final int TAG_SPATIAL_FREQ_RESPONSE
See Also:
Constant Field Values

TAG_NOISE

public static final int TAG_NOISE
See Also:
Constant Field Values

TAG_IMAGE_NUMBER

public static final int TAG_IMAGE_NUMBER
See Also:
Constant Field Values

TAG_SECURITY_CLASSIFICATION

public static final int TAG_SECURITY_CLASSIFICATION
See Also:
Constant Field Values

TAG_IMAGE_HISTORY

public static final int TAG_IMAGE_HISTORY
See Also:
Constant Field Values

TAG_SUBJECT_LOCATION

public static final int TAG_SUBJECT_LOCATION
See Also:
Constant Field Values

TAG_EXPOSURE_INDEX_2

public static final int TAG_EXPOSURE_INDEX_2
There are two definitions for exposure index, I don't know the difference...

See Also:
Constant Field Values

TAG_TIFF_EP_STANDARD_ID

public static final int TAG_TIFF_EP_STANDARD_ID
See Also:
Constant Field Values

TAG_FLASH_ENERGY_2

public static final int TAG_FLASH_ENERGY_2
See Also:
Constant Field Values

TAG_SPATIAL_FREQ_RESPONSE_2

public static final int TAG_SPATIAL_FREQ_RESPONSE_2
See Also:
Constant Field Values

TAG_SUBJECT_LOCATION_2

public static final int TAG_SUBJECT_LOCATION_2
See Also:
Constant Field Values

TAG_MAKE

public static final int TAG_MAKE
See Also:
Constant Field Values

TAG_MODEL

public static final int TAG_MODEL
See Also:
Constant Field Values

TAG_ORIENTATION

public static final int TAG_ORIENTATION
See Also:
Constant Field Values

TAG_X_RESOLUTION

public static final int TAG_X_RESOLUTION
See Also:
Constant Field Values

TAG_Y_RESOLUTION

public static final int TAG_Y_RESOLUTION
See Also:
Constant Field Values

TAG_PAGE_NAME

public static final int TAG_PAGE_NAME
See Also:
Constant Field Values

TAG_RESOLUTION_UNIT

public static final int TAG_RESOLUTION_UNIT
See Also:
Constant Field Values

TAG_THUMBNAIL_OFFSET

public static final int TAG_THUMBNAIL_OFFSET
See Also:
Constant Field Values

TAG_THUMBNAIL_LENGTH

public static final int TAG_THUMBNAIL_LENGTH
See Also:
Constant Field Values

TAG_YCBCR_POSITIONING

public static final int TAG_YCBCR_POSITIONING
See Also:
Constant Field Values

TAG_EXPOSURE_TIME

public static final int TAG_EXPOSURE_TIME
Exposure time (reciprocal of shutter speed). Unit is second.

See Also:
Constant Field Values

TAG_FNUMBER

public static final int TAG_FNUMBER
The actual F-number(F-stop) of lens when the image was taken.

See Also:
Constant Field Values

TAG_EXPOSURE_PROGRAM

public static final int TAG_EXPOSURE_PROGRAM
Exposure program that the camera used when image was taken. '1' means manual control, '2' program normal, '3' aperture priority, '4' shutter priority, '5' program creative (slow program), '6' program action (high-speed program), '7' portrait mode, '8' landscape mode.

See Also:
Constant Field Values

TAG_ISO_EQUIVALENT

public static final int TAG_ISO_EQUIVALENT
See Also:
Constant Field Values

TAG_EXIF_VERSION

public static final int TAG_EXIF_VERSION
See Also:
Constant Field Values

TAG_DATETIME_ORIGINAL

public static final int TAG_DATETIME_ORIGINAL
See Also:
Constant Field Values

TAG_DATETIME_DIGITIZED

public static final int TAG_DATETIME_DIGITIZED
See Also:
Constant Field Values

TAG_COMPONENTS_CONFIGURATION

public static final int TAG_COMPONENTS_CONFIGURATION
See Also:
Constant Field Values

TAG_COMPRESSION_LEVEL

public static final int TAG_COMPRESSION_LEVEL
Average (rough estimate) compression level in JPEG bits per pixel.

See Also:
Constant Field Values

TAG_SHUTTER_SPEED

public static final int TAG_SHUTTER_SPEED
Shutter speed by APEX value. To convert this value to ordinary 'Shutter Speed'; calculate this value's power of 2, then reciprocal. For example, if the ShutterSpeedValue is '4', shutter speed is 1/(24)=1/16 second.

See Also:
Constant Field Values

TAG_BRIGHTNESS_VALUE

public static final int TAG_BRIGHTNESS_VALUE
See Also:
Constant Field Values

TAG_EXPOSURE_BIAS

public static final int TAG_EXPOSURE_BIAS
See Also:
Constant Field Values

TAG_MAX_APERTURE

public static final int TAG_MAX_APERTURE
Maximum aperture value of lens. You can convert to F-number by calculating power of root 2 (same process of ApertureValue:0x9202). The actual aperture value of lens when the image was taken. To convert this value to ordinary f-number(f-stop), calculate the value's power of root 2 (=1.4142). For example, if the ApertureValue is '5', f-number is 1.41425^5 = F5.6.

See Also:
Constant Field Values

TAG_SUBJECT_DISTANCE

public static final int TAG_SUBJECT_DISTANCE
Indicates the distance the autofocus camera is focused to. Tends to be less accurate as distance increases.

See Also:
Constant Field Values

TAG_METERING_MODE

public static final int TAG_METERING_MODE
Exposure metering method. '0' means unknown, '1' average, '2' center weighted average, '3' spot, '4' multi-spot, '5' multi-segment, '6' partial, '255' other.

See Also:
Constant Field Values

TAG_LIGHT_SOURCE

public static final int TAG_LIGHT_SOURCE
See Also:
Constant Field Values

TAG_WHITE_BALANCE

public static final int TAG_WHITE_BALANCE
White balance (aka light source). '0' means unknown, '1' daylight, '2' fluorescent, '3' tungsten, '10' flash, '17' standard light A, '18' standard light B, '19' standard light C, '20' D55, '21' D65, '22' D75, '255' other.

See Also:
Constant Field Values

TAG_FLASH

public static final int TAG_FLASH
0x0 = 0000000 = No Flash 0x1 = 0000001 = Fired 0x5 = 0000101 = Fired, Return not detected 0x7 = 0000111 = Fired, Return detected 0x9 = 0001001 = On 0xd = 0001101 = On, Return not detected 0xf = 0001111 = On, Return detected 0x10 = 0010000 = Off 0x18 = 0011000 = Auto, Did not fire 0x19 = 0011001 = Auto, Fired 0x1d = 0011101 = Auto, Fired, Return not detected 0x1f = 0011111 = Auto, Fired, Return detected 0x20 = 0100000 = No flash function 0x41 = 1000001 = Fired, Red-eye reduction 0x45 = 1000101 = Fired, Red-eye reduction, Return not detected 0x47 = 1000111 = Fired, Red-eye reduction, Return detected 0x49 = 1001001 = On, Red-eye reduction 0x4d = 1001101 = On, Red-eye reduction, Return not detected 0x4f = 1001111 = On, Red-eye reduction, Return detected 0x59 = 1011001 = Auto, Fired, Red-eye reduction 0x5d = 1011101 = Auto, Fired, Red-eye reduction, Return not detected 0x5f = 1011111 = Auto, Fired, Red-eye reduction, Return detected 6543210 (positions) This is a bitmask. 0 = flash fired 1 = return detected 2 = return able to be detected 3 = unknown 4 = auto used 5 = unknown 6 = red eye reduction used

See Also:
Constant Field Values

TAG_FOCAL_LENGTH

public static final int TAG_FOCAL_LENGTH
Focal length of lens used to take image. Unit is millimeter. Nice digital cameras actually save the focal length as a function of how far they are zoomed in.

See Also:
Constant Field Values

TAG_USER_COMMENT

public static final int TAG_USER_COMMENT
See Also:
Constant Field Values

TAG_SUBSECOND_TIME

public static final int TAG_SUBSECOND_TIME
See Also:
Constant Field Values

TAG_SUBSECOND_TIME_ORIGINAL

public static final int TAG_SUBSECOND_TIME_ORIGINAL
See Also:
Constant Field Values

TAG_SUBSECOND_TIME_DIGITIZED

public static final int TAG_SUBSECOND_TIME_DIGITIZED
See Also:
Constant Field Values

TAG_FLASHPIX_VERSION

public static final int TAG_FLASHPIX_VERSION
See Also:
Constant Field Values

TAG_COLOR_SPACE

public static final int TAG_COLOR_SPACE
Defines Color Space. DCF image must use sRGB color space so value is always '1'. If the picture uses the other color space, value is '65535':Uncalibrated.

See Also:
Constant Field Values

TAG_EXIF_IMAGE_WIDTH

public static final int TAG_EXIF_IMAGE_WIDTH
See Also:
Constant Field Values

TAG_EXIF_IMAGE_HEIGHT

public static final int TAG_EXIF_IMAGE_HEIGHT
See Also:
Constant Field Values

TAG_RELATED_SOUND_FILE

public static final int TAG_RELATED_SOUND_FILE
See Also:
Constant Field Values

TAG_FOCAL_PLANE_X_RES

public static final int TAG_FOCAL_PLANE_X_RES
See Also:
Constant Field Values

TAG_FOCAL_PLANE_Y_RES

public static final int TAG_FOCAL_PLANE_Y_RES
See Also:
Constant Field Values

TAG_FOCAL_PLANE_UNIT

public static final int TAG_FOCAL_PLANE_UNIT
Unit of FocalPlaneXResoluton/FocalPlaneYResolution. '1' means no-unit, '2' inch, '3' centimeter. Note: Some of Fujifilm's digicam(e.g.FX2700,FX2900,Finepix4700Z/40i etc) uses value '3' so it must be 'centimeter', but it seems that they use a '8.3mm?'(1/3in.?) to their ResolutionUnit. Fuji's BUG? Finepix4900Z has been changed to use value '2' but it doesn't match to actual value also.

See Also:
Constant Field Values

TAG_EXPOSURE_INDEX

public static final int TAG_EXPOSURE_INDEX
See Also:
Constant Field Values

TAG_SENSING_METHOD

public static final int TAG_SENSING_METHOD
See Also:
Constant Field Values

TAG_FILE_SOURCE

public static final int TAG_FILE_SOURCE
See Also:
Constant Field Values

TAG_SCENE_TYPE

public static final int TAG_SCENE_TYPE
See Also:
Constant Field Values

TAG_CFA_PATTERN

public static final int TAG_CFA_PATTERN
See Also:
Constant Field Values

TAG_CUSTOM_RENDERED

public static final int TAG_CUSTOM_RENDERED
This tag indicates the use of special processing on image data, such as rendering geared to output. When special processing is performed, the reader is expected to disable or minimize any further processing. Tag = 41985 (A401.H) Type = SHORT Count = 1 Default = 0 0 = Normal process 1 = Custom process Other = reserved

See Also:
Constant Field Values

TAG_EXPOSURE_MODE

public static final int TAG_EXPOSURE_MODE
This tag indicates the exposure mode set when the image was shot. In auto-bracketing mode, the camera shoots a series of frames of the same scene at different exposure settings. Tag = 41986 (A402.H) Type = SHORT Count = 1 Default = none 0 = Auto exposure 1 = Manual exposure 2 = Auto bracket Other = reserved

See Also:
Constant Field Values

TAG_WHITE_BALANCE_MODE

public static final int TAG_WHITE_BALANCE_MODE
This tag indicates the white balance mode set when the image was shot. Tag = 41987 (A403.H) Type = SHORT Count = 1 Default = none 0 = Auto white balance 1 = Manual white balance Other = reserved

See Also:
Constant Field Values

TAG_DIGITAL_ZOOM_RATIO

public static final int TAG_DIGITAL_ZOOM_RATIO
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. Tag = 41988 (A404.H) Type = RATIONAL Count = 1 Default = none

See Also:
Constant Field Values

TAG_35MM_FILM_EQUIV_FOCAL_LENGTH

public static final int TAG_35MM_FILM_EQUIV_FOCAL_LENGTH
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 the FocalLength tag. Tag = 41989 (A405.H) Type = SHORT Count = 1 Default = none

See Also:
Constant Field Values

TAG_SCENE_CAPTURE_TYPE

public static final int TAG_SCENE_CAPTURE_TYPE
This tag indicates the type of scene that was shot. It can also be used to record the mode in which the image was shot. Note that this differs from the scene type (SceneType) tag. Tag = 41990 (A406.H) Type = SHORT Count = 1 Default = 0 0 = Standard 1 = Landscape 2 = Portrait 3 = Night scene Other = reserved

See Also:
Constant Field Values

TAG_GAIN_CONTROL

public static final int TAG_GAIN_CONTROL
This tag indicates the degree of overall image gain adjustment. Tag = 41991 (A407.H) Type = SHORT Count = 1 Default = none 0 = None 1 = Low gain up 2 = High gain up 3 = Low gain down 4 = High gain down Other = reserved

See Also:
Constant Field Values

TAG_CONTRAST

public static final int TAG_CONTRAST
This tag indicates the direction of contrast processing applied by the camera when the image was shot. Tag = 41992 (A408.H) Type = SHORT Count = 1 Default = 0 0 = Normal 1 = Soft 2 = Hard Other = reserved

See Also:
Constant Field Values

TAG_SATURATION

public static final int TAG_SATURATION
This tag indicates the direction of saturation processing applied by the camera when the image was shot. Tag = 41993 (A409.H) Type = SHORT Count = 1 Default = 0 0 = Normal 1 = Low saturation 2 = High saturation Other = reserved

See Also:
Constant Field Values

TAG_SHARPNESS

public static final int TAG_SHARPNESS
This tag indicates the direction of sharpness processing applied by the camera when the image was shot. Tag = 41994 (A40A.H) Type = SHORT Count = 1 Default = 0 0 = Normal 1 = Soft 2 = Hard Other = reserved

See Also:
Constant Field Values

TAG_DEVICE_SETTING_DESCRIPTION

public static final int TAG_DEVICE_SETTING_DESCRIPTION
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 reader. Tag = 41995 (A40B.H) Type = UNDEFINED Count = Any Default = none The information is recorded in the format shown below. The data is recorded in Unicode using SHORT type for the number of display rows and columns and UNDEFINED type for the camera settings. The Unicode (UCS-2) string including Signature is NULL terminated. The specifics of the Unicode string are as given in ISO/IEC 10464-1. Length Type Meaning ------+-----------+------------------ 2 SHORT Display columns 2 SHORT Display rows Any UNDEFINED Camera setting-1 Any UNDEFINED Camera setting-2 : : : Any UNDEFINED Camera setting-n

See Also:
Constant Field Values

TAG_SUBJECT_DISTANCE_RANGE

public static final int TAG_SUBJECT_DISTANCE_RANGE
This tag indicates the distance to the subject. Tag = 41996 (A40C.H) Type = SHORT Count = 1 Default = none 0 = unknown 1 = Macro 2 = Close view 3 = Distant view Other = reserved

See Also:
Constant Field Values

TAG_WIN_TITLE

public static final int TAG_WIN_TITLE
The image title, as used by Windows XP.

See Also:
Constant Field Values

TAG_WIN_COMMENT

public static final int TAG_WIN_COMMENT
The image comment, as used by Windows XP.

See Also:
Constant Field Values

TAG_WIN_AUTHOR

public static final int TAG_WIN_AUTHOR
The image author, as used by Windows XP (called Artist in the Windows shell).

See Also:
Constant Field Values

TAG_WIN_KEYWORDS

public static final int TAG_WIN_KEYWORDS
The image keywords, as used by Windows XP.

See Also:
Constant Field Values

TAG_WIN_SUBJECT

public static final int TAG_WIN_SUBJECT
The image subject, as used by Windows XP.

See Also:
Constant Field Values

TAG_IMAGE_UNIQUE_ID

public static final int TAG_IMAGE_UNIQUE_ID
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 (A420.H) Type = ASCII Count = 33 Default = none

See Also:
Constant Field Values

TAG_THUMBNAIL_IMAGE_WIDTH

public static final int TAG_THUMBNAIL_IMAGE_WIDTH
See Also:
Constant Field Values

TAG_THUMBNAIL_IMAGE_HEIGHT

public static final int TAG_THUMBNAIL_IMAGE_HEIGHT
See Also:
Constant Field Values

TAG_THUMBNAIL_DATA

public static final int TAG_THUMBNAIL_DATA
See Also:
Constant Field Values

TAG_FILL_ORDER

public static final int TAG_FILL_ORDER
1 = Normal 2 = Reversed

See Also:
Constant Field Values

TAG_DOCUMENT_NAME

public static final int TAG_DOCUMENT_NAME
See Also:
Constant Field Values

tagNameMap

protected static final HashMap tagNameMap
Constructor Detail

ExifDirectory

public ExifDirectory()
Method Detail

getName

public String getName()
Description copied from class: Directory
Provides the name of the directory, for display purposes. E.g. Exif

Specified by:
getName in class Directory
Returns:
the name of the directory

getTagNameMap

protected HashMap getTagNameMap()
Description copied from class: Directory
Provides the map of tag names, hashed by tag type identifier.

Specified by:
getTagNameMap in class Directory
Returns:
the map of tag names

getThumbnailData

public byte[] getThumbnailData()
                        throws MetadataException
Throws:
MetadataException

writeThumbnail

public void writeThumbnail(String filename)
                    throws MetadataException,
                           IOException
Throws:
MetadataException
IOException

containsThumbnail

public boolean containsThumbnail()