[][src]Crate pix

Pixel and raster image library.

A raster is a rectangular array of pixels whose format is parameterized by color model, channel, alpha mode and gamma mode.

Example: Convert Raster Format

let mut src = RasterBuilder::<SRgb8>::new().with_clear(120, 120);
// ... load pixels into raster
let dst: Raster<Rgba8p> = RasterBuilder::new().with_raster(&src);

Re-exports

pub use crate::el::Pixel;

Modules

alpha

Module for alpha channel items

channel

Module for channel items

el

Module for pix::el items

gamma

Module for gamma encoding items

Structs

GrayModel

Gray color model.

HslModel

HSL bi-hexcone color model.

HsvModel

HSV hexcone color model, also known as HSB.

HwbModel

HWB color model.

MaskModel

Mask color model.

Palette

Color table for use with indexed Rasters.

Raster

Image arranged as a rectangular array of pixels.

RasterBuilder

Builder for Raster images.

RasterIter

Iterator for pixels within a Raster.

Region

Location / dimensions of pixels relative to a Raster.

RgbModel

RGB additive color model.

YCbCrModel

YCbCr color model used in JPEG format.

Traits

ColorModel

Model for pixel colors.

Type Definitions

Gray8

Gray 8-bit opaque (no alpha channel) linear gamma pixel format.

Gray16

Gray 16-bit opaque (no alpha channel) linear gamma pixel format.

Gray32

Gray 32-bit opaque (no alpha channel) linear gamma pixel format.

Graya8

Gray 8-bit straight alpha linear gamma pixel format.

Graya8p

Gray 8-bit premultiplied alpha linear gamma pixel format.

Graya16

Gray 16-bit straight alpha linear gamma pixel format.

Graya16p

Gray 16-bit premultiplied alpha linear gamma pixel format.

Graya32

Gray 32-bit straight alpha linear gamma pixel format.

Graya32p

Gray 32-bit premultiplied alpha linear gamma pixel format.

Hsl8

Hsl 8-bit opaque (no alpha channel) linear gamma pixel format.

Hsl16

Hsl 16-bit opaque (no alpha channel) linear gamma pixel format.

Hsl32

Hsl 32-bit opaque (no alpha channel) linear gamma pixel format.

Hsla8

Hsl 8-bit straight alpha linear gamma pixel format.

Hsla8p

Hsl 8-bit premultiplied alpha linear gamma pixel format.

Hsla16

Hsl 16-bit straight alpha linear gamma pixel format.

Hsla16p

Hsl 16-bit premultiplied alpha linear gamma pixel format.

Hsla32

Hsl 32-bit straight alpha linear gamma pixel format.

Hsla32p

Hsl 32-bit premultiplied alpha linear gamma pixel format.

Hsv8

Hsv 8-bit opaque (no alpha channel) linear gamma pixel format.

Hsv16

Hsv 16-bit opaque (no alpha channel) linear gamma pixel format.

Hsv32

Hsv 32-bit opaque (no alpha channel) linear gamma pixel format.

Hsva8

Hsv 8-bit straight alpha linear gamma pixel format.

Hsva8p

Hsv 8-bit premultiplied alpha linear gamma pixel format.

Hsva16

Hsv 16-bit straight alpha linear gamma pixel format.

Hsva16p

Hsv 16-bit premultiplied alpha linear gamma pixel format.

Hsva32

Hsv 32-bit straight alpha linear gamma pixel format.

Hsva32p

Hsv 32-bit premultiplied alpha linear gamma pixel format.

Hwb8

Hwb 8-bit opaque (no alpha channel) linear gamma pixel format.

Hwb16

Hwb 16-bit opaque (no alpha channel) linear gamma pixel format.

Hwb32

Hwb 32-bit opaque (no alpha channel) linear gamma pixel format.

Hwba8

Hwb 8-bit straight alpha linear gamma pixel format.

Hwba8p

Hwb 8-bit premultiplied alpha linear gamma pixel format.

Hwba16

Hwb 16-bit straight alpha linear gamma pixel format.

Hwba16p

Hwb 16-bit premultiplied alpha linear gamma pixel format.

Hwba32

Hwb 32-bit straight alpha linear gamma pixel format.

Hwba32p

Hwb 32-bit premultiplied alpha linear gamma pixel format.

Mask8

Mask 8-bit straight alpha linear gamma pixel format.

Mask16

Mask 16-bit straight alpha linear gamma pixel format.

Mask32

Mask 32-bit straight alpha linear gamma pixel format.

Rgb8

Rgb 8-bit opaque (no alpha channel) linear gamma pixel format.

Rgb16

Rgb 16-bit opaque (no alpha channel) linear gamma pixel format.

Rgb32

Rgb 32-bit opaque (no alpha channel) linear gamma pixel format.

Rgba8

Rgb 8-bit straight alpha linear gamma pixel format.

Rgba8p

Rgb 8-bit premultiplied alpha linear gamma pixel format.

Rgba16

Rgb 16-bit straight alpha linear gamma pixel format.

Rgba16p

Rgb 16-bit premultiplied alpha linear gamma pixel format.

Rgba32

Rgb 32-bit straight alpha linear gamma pixel format.

Rgba32p

Rgb 32-bit premultiplied alpha linear gamma pixel format.

SGray8

Gray 8-bit opaque (no alpha channel) sRGB gamma pixel format.

SGray16

Gray 16-bit opaque (no alpha channel) sRGB gamma pixel format.

SGray32

Gray 32-bit opaque (no alpha channel) sRGB gamma pixel format.

SGraya8

Gray 8-bit straight alpha sRGB gamma pixel format.

SGraya8p

Gray 8-bit premultiplied alpha sRGB gamma pixel format.

SGraya16

Gray 16-bit straight alpha sRGB gamma pixel format.

SGraya16p

Gray 16-bit premultiplied alpha sRGB gamma pixel format.

SGraya32

Gray 32-bit straight alpha sRGB gamma pixel format.

SGraya32p

Gray 32-bit premultiplied alpha sRGB gamma pixel format.

SRgb8

Rgb 8-bit opaque (no alpha channel) sRGB gamma pixel format.

SRgb16

Rgb 16-bit opaque (no alpha channel) sRGB gamma pixel format.

SRgb32

Rgb 32-bit opaque (no alpha channel) sRGB gamma pixel format.

SRgba8

Rgb 8-bit straight alpha sRGB gamma pixel format.

SRgba8p

Rgb 8-bit premultiplied alpha sRGB gamma pixel format.

SRgba16

Rgb 16-bit straight alpha sRGB gamma pixel format.

SRgba16p

Rgb 16-bit premultiplied alpha sRGB gamma pixel format.

SRgba32

Rgb 32-bit straight alpha sRGB gamma pixel format.

SRgba32p

Rgb 32-bit premultiplied alpha sRGB gamma pixel format.

YCbCr8

YCbCr 8-bit opaque (no alpha channel) linear gamma pixel format.

YCbCr16

YCbCr 16-bit opaque (no alpha channel) linear gamma pixel format.

YCbCr32

YCbCr 32-bit opaque (no alpha channel) linear gamma pixel format.

YCbCra8

YCbCr 8-bit straight alpha linear gamma pixel format.

YCbCra8p

YCbCr 8-bit premultiplied alpha linear gamma pixel format.

YCbCra16

YCbCr 16-bit straight alpha linear gamma pixel format.

YCbCra16p

YCbCr 16-bit premultiplied alpha linear gamma pixel format.

YCbCra32

YCbCr 32-bit straight alpha linear gamma pixel format.

YCbCra32p

YCbCr 32-bit premultiplied alpha linear gamma pixel format.