Module Cairo.PNG

The PNG functions allow reading PNG images into image surfaces, and writing any surface to a PNG file.

To create a new PNG file, start by creating an image surface, providing its format (see Image.format) and dimensions w×h with let surface = Cairo.Image.create format w h. From this you can create a Cairo context to do your drawing: let cr = Cairo.create surface. Then, when you are done, call Cairo.PNG.write surface fname to write the surface to the PNG file fname.

val create : string -> Surface.t

create filename creates a new image surface and initializes the contents to the given PNG file.

val create_from_stream : input:(string -> int -> unit) -> Surface.t

Creates a new image surface from PNG data read incrementally via the input function. The input s l function receives a string s whose first l bytes must be filled with PNG data. Any exception raised by input is considered as a read error.

val write : Surface.t -> string -> unit

write surface filename writes the contents of surface to a new file filename as a PNG image.

val write_to_stream : Surface.t -> (string -> unit) -> unit

Writes the image surface using the output function.