module MakeIndexed: functor (
RI
:
RAWIMAGE
with type elt = int
) ->
functor (
CON
:
CONTAINER_INDEXED
with type rawimage = RI.t
) ->
IMAGEINDEXED
with type t = CON.container
and type elt = int
and type mapelt = CON.mapelt
Parameters: |
RI |
: |
RAWIMAGE with type elt = int
|
CON |
: |
CONTAINER_INDEXED with type rawimage = RI.t
|
|
type
t
type
elt
type
mapelt
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.
val make : int -> int -> elt -> t
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
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 get_color : t -> int -> int -> mapelt
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.
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_get_color : t -> int -> int -> mapelt
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.
val copy : t -> t
Image copy
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 w
xh
,
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 w
xh
, 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 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 -> 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