package camlimages

  1. Overview
  2. Docs
type datetime = [
  1. | `EncodedInUnixTime of DateTime.t
    (*

    Photos from some old Androids have non Ascii datetime. They have encoded 32 bit int in Unix time instead! :-(

    *)
  2. | `Error of string
  3. | `Ok of DateTime.t
]
val parse_datetime : string -> [> datetime ]
val analyze_ifd : Entry.unpacked_entry -> [> `DateTime of [> datetime ] | `Make of string | `Model of string | `Orientation of [> `BottomLeft | `BottomRight | `LeftBottom | `LeftTop | `RightBottom | `RightTop | `TopLeft | `TopRight ] | `ResolutionUnit of [> `Centimeters | `Inches ] | `Software of Entry.Pack.unpacked | `Unknown of Entry.unpacked_entry | `XResolution of int64 * int64 | `YResolution of int64 * int64 ]

Analyze IFD. The unpacked_entry must come from ifd_0 or ifd_1 sub-IFDs

val analyze_exif : Entry.unpacked_entry -> [> `DateTimeDigitized of [> datetime ] | `DateTimeOriginal of [> datetime ] | `ExifVersion of string | `MakerNote of string | `SubsecTime of string | `SubsecTimeDigitized of string | `SubsecTimeOriginal of string | `Unknown of Entry.unpacked_entry | `UserComment of string ]

Analyze EXIF. The unpacked_entry must come from exif sub-IFD

val analyze_gps : Entry.unpacked_entry -> [> `AboveSeaLevel | `Altitude of int64 * int64 | `BelowSeaLevel | `EastLongitude | `GPSDate of [> `Error of string | `Ok of Date.t ] | `GPSMapDatum of string | `GPSVersion of int * int * int * int | `ImgDirection of int64 * int64 | `ImgDirectionMagnetic | `ImgDirectionTrue | `Latitude of int64 * int64 | `Longitude of int64 * int64 | `NorthLatitude | `SouthLatitude | `TimeStampUTC of float * float * float | `TimeStampUTCinSRationals of float * float * float | `Unknown of Entry.unpacked_entry | `WestLongitude ]

Analyze GPS. The unpacked_entry must come from gps sub-IFD

val ifd_0_datetime : Data.t -> [> datetime ] option

Get ifd_0 DateTime

val exif_datetime : Data.t -> [> datetime ] option

Get exif DateTimeOriginal

val datetime : Data.t -> [> datetime ] option

Get one of the first finding of the followings: * exif DateTimeOriginal * ifd_0 DateTime

OCaml

Innovation. Community. Security.