module Make: functor (RI : RAWIMAGE) -> functor (CON : CONTAINER with type rawimage = RI.t) -> IMAGE with type t = CON.container
and type elt = RI.elt
| Parameters: |
RI |
: |
RAWIMAGE
|
CON |
: |
CONTAINER with type rawimage = RI.t
|
|
type t
type elt
Image creation
val create : int -> int -> t
create w h creates an image with a size wxh. The content is
the image is not initialized.
val make : int -> int -> elt -> t
make w h c creates an image with a size wxh. 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
val get : t -> int -> int -> elt
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.
val set : t -> int -> int -> elt -> unit
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.
val unsafe_get : t -> int -> int -> elt
val unsafe_set : t -> int -> int -> elt -> unit
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
val copy : t -> t
copy t duplicates the image t.
val sub : t -> int -> int -> int -> int -> t
sub t x y w h duplicates a subimage of t of size wxh,
whose origin (0,0) is at (x,y) of t.
val blit : t ->
int -> int -> t -> int -> int -> int -> int -> unit
blit src x y dst x' y' w h copies rectangular area of src at
x,y with size wxh, to an image dst. The origin of
the subimage comes at x',y' of dst.
val map : (elt -> elt -> elt) ->
t ->
int -> int -> t -> int -> int -> int -> int -> unit
map f src x y dst x' y' w h maps pixels of the rectangular area
of src at x,y with size wxh, to an image dst,
using color conversion function f. The origin of the subimage
comes at x',y' of dst.
val dump : t -> string
functions for internal use
val unsafe_access : t -> int -> int -> string * int
val get_strip : t -> int -> int -> int -> string
val set_strip : t -> int -> int -> int -> string -> unit
val get_scanline : t -> int -> string
val set_scanline : t -> int -> string -> unit