Processing EXIF data with Haskell

I'm writing web software for a photograph gallery. I want to be able to display selective fields from the EXIF data. I thought I would be able to use the GD and exif libraries from Hackage to do this. However: Calling Graphics.GD.loadJpegByteString followed by Graphics.GD.saveJpegFile does not preserve the EXIF fields of the uploaded file, but instead writes some new ones (many fewer fields than the original, and nothing of interest). Graphics.Exif.allTags shows an interesting subset of the original EXIF data, but nothing from the version saved by GD. Can anyone shed any light on any of this? -- Colin Adams Preston Lancashire

colin:
I'm writing web software for a photograph gallery. I want to be able to display selective fields from the EXIF data. I thought I would be able to use the GD and exif libraries from Hackage to do this. However:
Calling Graphics.GD.loadJpegByteString followed by Graphics.GD.saveJpegFile does not preserve the EXIF fields of the uploaded file, but instead writes some new ones (many fewer fields than the original, and nothing of interest).
Graphics.Exif.allTags shows an interesting subset of the original EXIF data, but nothing from the version saved by GD.
Can anyone shed any light on any of this?
Contact the author, patch the library? -- Don

"Don" == Don Stewart
writes:
Don> colin: >> I'm writing web software for a photograph gallery. I want to be >> able to display selective fields from the EXIF data. I thought >> I would be able to use the GD and exif libraries from Hackage >> to do this. However: >> >> Calling Graphics.GD.loadJpegByteString followed by >> Graphics.GD.saveJpegFile does not preserve the EXIF fields of >> the uploaded file, but instead writes some new ones (many fewer >> fields than the original, and nothing of interest). >> >> Graphics.Exif.allTags shows an interesting subset of the >> original EXIF data, but nothing from the version saved by GD. >> >> Can anyone shed any light on any of this? Don> Contact the author, patch the library? I tried the former - no answer yet. Maybe just waiting a little will help. As for the latter, it's just a binding to a C library. -- Colin Adams Preston Lancashire
participants (2)
-
Colin Paul Adams
-
Don Stewart