-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Reading Exif data form a JPEG file with Haskell -- -- Read and pretty print the Exif data from a JPEG file @package hexif @version 0.2.0.0 -- | Read and interpret the exif file of a JPEG image with pure Haskell -- code. -- -- This hexif library has similar functionality as the exif package -- (http://hackage.haskell.org/package/exif-3000.0.0/docs/Graphics-Exif.html), -- which calls the C-library -- libexif(http://libexif.sourceforge.net/). -- -- The first example shows how to print out all supported exif -- information of a JPEG image. -- --
--   processFile :: FilePath -> IO()
--   processFile fn = do
--       exif <- fromFile fn
--       mapM_ print (allFields exif)
--   
-- -- Example: -- --
--   processFile "RS4748.JPG"
--   
-- -- The next example prints out the value of a single tag: -- --
--   singleTag :: FilePath -> ExifTag -> IO()
--   singleTag fn tag = do
--       exif <- fromFile fn
--       print $ getTag exif tag
--   
-- -- Example: -- --
--   singleTag "RS4847.JPG" TagComponentsConfiguration
--   
-- -- For more information about JPG and Exif, see -- -- module Graphics.Hexif -- | Definiton of the resulting output data ExifField ExifField :: ExifTag -> String -> ExifField -- | Definition of all the supported Exif tags data ExifTag TagInteroperabilityIndex :: ExifTag TagInteroperabilityVersion :: ExifTag TagImageWidth :: ExifTag TagImageLength :: ExifTag TagBitsPerSample :: ExifTag TagCompression :: ExifTag TagPhotometricInterpretation :: ExifTag TagImageDescription :: ExifTag TagModel :: ExifTag TagMake :: ExifTag TagOrientation :: ExifTag TagSamplesPerPixel :: ExifTag TagTagUnknown :: Word16 -> ExifTag TagXResolution :: ExifTag TagYResolution :: ExifTag TagResolutionUnit :: ExifTag TagSoftware :: ExifTag TagDateTime :: ExifTag TagArtist :: ExifTag TagHostComputer :: ExifTag TagWhitePoint :: ExifTag TagPrimaryChromaticities :: ExifTag TagJPEGInterchangeFormat :: ExifTag TagJPEGInterchangeFormatLength :: ExifTag TagYCbCrCoefficients :: ExifTag TagYCbCrPositioning :: ExifTag TagReferenceBlackWhite :: ExifTag TagRelatedImageWidth :: ExifTag TagRelatedImageLength :: ExifTag TagCopyright :: ExifTag TagExposureTime :: ExifTag TagFNumber :: ExifTag TagExposureProgram :: ExifTag TagISOSpeedRatings :: ExifTag TagSensitivityType :: ExifTag TagExifVersion :: ExifTag TagDateTimeOriginal :: ExifTag TagDateTimeDigitized :: ExifTag TagComponentsConfiguration :: ExifTag TagCompressedBitsPerPixel :: ExifTag TagShutterSpeedValue :: ExifTag TagApertureValue :: ExifTag TagBrightnessValue :: ExifTag TagExposureBiasValue :: ExifTag TagMaxApertureValue :: ExifTag TagSubjectDistance :: ExifTag TagMeteringMode :: ExifTag TagLightSource :: ExifTag TagFlash :: ExifTag TagFocalLength :: ExifTag TagMakerNote :: ExifTag TagUserComment :: ExifTag TagSubsecTime :: ExifTag TagSubSecTimeOriginal :: ExifTag TagSubSecTimeDigitized :: ExifTag TagXPTitle :: ExifTag TagXPAuthor :: ExifTag TagFlashPixVersion :: ExifTag TagColorSpace :: ExifTag TagPixelXDimension :: ExifTag TagPixelYDimension :: ExifTag TagFocalPlaneXResolution :: ExifTag TagFocalPlaneYResolution :: ExifTag TagFocalPlaneResolutionUnit :: ExifTag TagSensingMethod :: ExifTag TagFileSource :: ExifTag TagSceneType :: ExifTag TagCFAPattern :: ExifTag TagCustomRendered :: ExifTag TagExposureMode :: ExifTag TagWhiteBalance :: ExifTag TagDigitalZoomRatio :: ExifTag TagFocalLengthIn35mmFilm :: ExifTag TagSceneCaptureType :: ExifTag TagGainControl :: ExifTag TagContrast :: ExifTag TagSaturation :: ExifTag TagSharpness :: ExifTag TagSubjectDistanceRange :: ExifTag TagImageUniqueID :: ExifTag TagGamma :: ExifTag TagPrintImageMatching :: ExifTag TagPanasonicTitle1 :: ExifTag TagPanasonicTitle2 :: ExifTag TagPadding :: ExifTag TagOffsetSchemata :: ExifTag TagGPSVersionID :: ExifTag TagGPSLatitudeRef :: ExifTag TagGPSLatitude :: ExifTag TagGPSLongitudeRef :: ExifTag TagGPSLongitude :: ExifTag TagGPSAltitudeRef :: ExifTag TagGPSAltitude :: ExifTag TagGPSTimeStamp :: ExifTag TagGPSImgDirectionRef :: ExifTag TagGPSImgDirection :: ExifTag TagGPSMapDatum :: ExifTag TagGPSDestLatitudeRef :: ExifTag TagGPSDestLatitude :: ExifTag TagGPSDestLongitudeRef :: ExifTag TagGPSDestLongitude :: ExifTag TagGPSDateStamp :: ExifTag TagSubDirIFDMain :: ExifTag TagSubDirIFDExif :: ExifTag TagSubDirIFDGPS :: ExifTag TagSubDirIFDInterop :: ExifTag -- | Return a list of all ExifFields (but without debug tags). allFields :: Exif -> [ExifField] -- | Return the value of a single Exif tag. getTag :: Exif -> ExifTag -> Maybe String -- | Return a list of all ExifFields including the debug tags. Do NOT use -- this function. It will be deleted later. allFieldsInclDebug :: Exif -> [ExifField] -- | Return the exit data from a jpeg file. Use this function to initialize -- your exif value fromFile :: FilePath -> IO Exif -- | Helper function to read exif data from a dumped exif file Do not use -- this function. It's mainly used for debugging fromExifFile :: FilePath -> IO Exif -- | Debugging function: Write the Exif file separatly to disk Do not use -- this function. It's mainly used for debugging dumpExif :: FilePath -> IO ()