package nx
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=96d35ce03dfbebd2313657273e24c2e2d20f9e6c7825b8518b69bd1d6ed5870f
sha512=90c5053731d4108f37c19430e45456063e872b04b8a1bbad064c356e1b18e69222de8bfcf4ec14757e71f18164ec6e4630ba770dbcb1291665de5418827d1465
doc/stb_image/Stb_image/index.html
Module Stb_imageSource
Image representation
type 'kind buffer = ('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t constraint 'kind = ('a, 'b) Stdlib.Bigarray.kindbuffer simply is an alias to a bigarray with c_layout. The buffer type serves two purposes:
- representing input files,
- representing the raw pixels of an image.
Two kind of pixel buffers are manipulated:
- int8 for images with 8-bit channels
- float32 for images with floating point channels
type 'kind t = private {width : int;height : int;channels : int;offset : int;stride : int;data : 'kind buffer;
}A record describing an image. The buffer contains channels * width * height items, in this order:
- channels are interleaved
- each pixel is made of
channelsitems - each line is made of
widthpixels - image is made of
heightlines - there is
strideitems between two lines.
The pixel at coordinates (x, y) and in channel c is thus stored at index y * stride + x * channels + c in the buffer.
Creating image
Image accessors
Image decoding
Load an 8-bit per channel image from a filename. If channels is specified, it has to be between 1 and 4 and the decoded image will be processed to have the requested number of channels.
Load a floating point channel image from a filename. See load for channels parameter.
Decode an 8-bit per channel image from a buffer. See load for channels parameter.
Decode a floating point channel image from a buffer. See load for channels parameter.
Low-level interface
Functions are similar to the above one, except memory is not managed by OCaml GC. It has to be released explicitly with free_unmanaged function.
You get slightly faster load times, more deterministic memory use and more responsibility. Use at your own risk!
Image filtering
Generate one level of mipmap: downsample image half in each dimension. In mipmap imgin imgout:
- imgout.channels must be imgin.channels
- imgout.width must be imgin.width / 2
- imgout.height must be imgin.height / 2
- imgout.data will be filled with downsampled imgin.data