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
- CMY color model and types.
- Module for
pix::el
items Gray
color model and types.- HSL color model and types.
- HSV color model and types.
- HWB color model and types.
- Matte color model and types.
- Oklab color model and types.
- Compositing and blending operations.
- RGB color model and types.
- CIE 1931 XYZ color model and types.
- YCbCr color model and types.
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.
- Location / dimensions of pixels relative to a Raster.
Traits
- Model for pixel colors.