package camlimages

  1. Overview
  2. Docs
type gif_extension =
  1. | GifComment of string list
  2. | GifGraphics of string list
  3. | GifPlaintext of string list
  4. | GifApplication of string list
  5. | GifOtherExt of int * string list

High level interfaces

type gif_frame = {
  1. frame_left : int;
  2. frame_top : int;
  3. frame_bitmap : Index8.t;
  4. mutable frame_extensions : gif_extension list;
  5. frame_delay : int;
}
type gif_sequence = {
  1. screen_width : int;
  2. screen_height : int;
  3. screen_colormap : Color.rgb Color.map;
  4. frames : gif_frame list;
  5. loops : int;
}
val check_header : string -> Images.header

Checks the file header

val load : string -> Images.load_option list -> gif_sequence

Loads a gif image sequence

val load_sequence : string -> Images.load_option list -> Images.sequence

Loads a gif image sequence, but to more general type

val load_first : string -> Images.load_option list -> Images.t

Loads the first frame of a gif image sequence.

val save : string -> Images.save_option list -> gif_sequence -> unit

Saves a gif image sequence

val save_image : string -> Images.save_option list -> Images.t -> unit

Saves an image as a gif file with only one frame

type in_channel
type out_channel
type screen_info = {
  1. s_width : int;
  2. s_height : int;
  3. s_color_resolution : int;
  4. s_back_ground_color : int;
  5. s_colormap : Color.rgb array;
}
type record_type =
  1. | Undefined
  2. | Screen_desc
  3. | Image_desc
  4. | Extension
  5. | Terminate
type gif_desc = {
  1. desc_left : int;
  2. desc_top : int;
  3. desc_width : int;
  4. desc_height : int;
  5. desc_interlace : bool;
  6. desc_colormap : Color.rgb array;
}
val dGifOpenFileName : string -> screen_info * in_channel
val dGifCloseFile : in_channel -> unit
val dGifGetRecordType : in_channel -> record_type
val dGifGetImageDesc : in_channel -> gif_desc
val dGifGetLine : in_channel -> bytes
val dGifGetExtension : in_channel -> int * string list
val eGifOpenFileName : string -> out_channel
val eGifCloseFile : out_channel -> unit
val eGifPutScreenDesc : out_channel -> screen_info -> unit
val eGifPutImageDesc : out_channel -> gif_desc -> unit
val eGifPutLine : out_channel -> bytes -> unit
val eGifPutExtension : out_channel -> (int * string list) -> unit