Trait resize::px::PixelFormat

source ·
pub trait PixelFormat: Send + Sync {
    type InputPixel: Send + Sync + Copy;
    type OutputPixel: Default + Send + Sync + Copy;
    type Accumulator: Send + Sync + Copy;

    // Required methods
    fn new() -> Self::Accumulator;
    fn add(
        &self,
        acc: &mut Self::Accumulator,
        inp: Self::InputPixel,
        coeff: f32
    );
    fn add_acc(acc: &mut Self::Accumulator, inp: Self::Accumulator, coeff: f32);
    fn into_pixel(&self, acc: Self::Accumulator) -> Self::OutputPixel;
}
Expand description

Use Pixel presets to specify pixel format.

The trait represents a temporary object that adds pixels together.

Required Associated Types§

source

type InputPixel: Send + Sync + Copy

Pixel type in the source image

source

type OutputPixel: Default + Send + Sync + Copy

Pixel type in the destination image (usually the same as Input)

source

type Accumulator: Send + Sync + Copy

Temporary struct for the pixel in floating-point

Required Methods§

source

fn new() -> Self::Accumulator

Create new floating-point pixel

source

fn add(&self, acc: &mut Self::Accumulator, inp: Self::InputPixel, coeff: f32)

Add new pixel with a given weight (first axis)

source

fn add_acc(acc: &mut Self::Accumulator, inp: Self::Accumulator, coeff: f32)

Add bunch of accumulated pixels with a weight (second axis)

source

fn into_pixel(&self, acc: Self::Accumulator) -> Self::OutputPixel

Finalize, convert to output pixel format

Object Safety§

This trait is not object safe.

Implementors§