Expand description
Library for image conversion and compositing.
A raster image can be cheaply converted to and from raw byte buffers, enabling interoperability with other crates.
Many image formats are supported:
- Bit depth: 8- or 16-bit integer and 32-bit float
- Alpha: premultiplied or straight
- Gamma: linear or sRGB
- Color models:
Compositing with blending operations is supported for premultiplied images with linear gamma.
HWB Color Example
use pix::hwb::SHwb8;
use pix::rgb::SRgb8;
use pix::Raster;
let mut r = Raster::with_clear(256, 256);
for (y, row) in r.rows_mut(()).enumerate() {
for (x, p) in row.iter_mut().enumerate() {
let h = ((x + y) >> 1) as u8;
let w = y.saturating_sub(x) as u8;
let b = x.saturating_sub(y) as u8;
*p = SHwb8::new(h, w, b);
}
}
// Convert to SRgb8 pixel format
let raster = Raster::<SRgb8>::with_raster(&r);
Modules
BGR color model and types.
Component channels
Module for pix::el
items
Matte color model and types.
Compositing and blending operations.
Structs
Color table for use with indexed Raster
s.
Image arranged as a rectangular array of pixels. Rows are ordered top to bottom, and pixels within rows are left to right.
Traits
Model for pixel colors.