Library
Module
Module type
Parameter
Class
Class type
include IMAGE
Image creation
val create : int -> int -> t
create w h
creates an image with a size w
xh
. The content is the image is not initialized.
make w h c
creates an image with a size w
xh
. The content is the image is initialized to the color c
.
val destroy : t -> unit
destroy t
explicitly frees the image content of t
. If you do not use bitmap swap files, you do not need to call this function, since GC will free unreachable image data automatically. Read bitmap.mli for more details.
Pixel access
get t x y
gets image pixel of t
at x
,y
. If x
,y
is outside of the image size, Images.Out_of_image exception is raised.
set t x y c
sets image pixel of t
at x
,y
by the color c
. If x
,y
is outside of the image size, Images.Out_of_image exception is raised.
Unsafe versions of get
and set
. It does not perform any image boundary check. If the coordinates are out of the given image, the result is undefined. Use carefully.
Image copy
sub t x y w h
duplicates a subimage of t
of size w
xh
, whose origin (0,0) is at (x,y) of t
.
blit src x y dst x' y' w h
copies rectangular area of src
at x
,y
with size w
xh
, to an image dst
. The origin of the subimage comes at x'
,y'
of dst
.
map f src x y dst x' y' w h
maps pixels of the rectangular area of src
at x
,y
with size w
xh
, to an image dst
, using color conversion function f
. The origin of the subimage comes at x'
,y'
of dst
.
val dump : t -> bytes
functions for internal use
val unsafe_access : t -> int -> int -> bytes * int
val get_strip : t -> int -> int -> int -> bytes
val set_strip : t -> int -> int -> int -> bytes -> unit
val get_scanline : t -> int -> bytes
val get_scanline_ptr : t -> (int -> (bytes * int) * int) option
val set_scanline : t -> int -> bytes -> unit
val blocks : t -> int * int
val dump_block : t -> int -> int -> Bitmap.Block.t
Pixel access
get_color x y
returns image pixel color value of t
at x
,y
. If x
,y
is outside of the image size, Images.Out_of_image exception is raised.