Trait rgb::ComponentMap[][src]

pub trait ComponentMap<DestPixel, SrcComponent, DestComponent> {
    fn map<Callback>(&self, f: Callback) -> DestPixel
    where
        Callback: FnMut(SrcComponent) -> DestComponent
; }

Applying operation to every component

use rgb::ComponentMap;
let inverted = pixel.map(|c| 255 - c);

// For simple math there are Add/Sub/Mul implementations:
let halved = pixel.map(|c| c / 2);
let doubled = pixel * 2;

Required methods

fn map<Callback>(&self, f: Callback) -> DestPixel where
    Callback: FnMut(SrcComponent) -> DestComponent, 
[src]

Convenience function (equivalent of self.iter().map().collect()) for applying the same formula to every component.

Note that it returns the pixel directly, not an Interator.

Loading content...

Implementors

impl<T: Copy, B> ComponentMap<ABGR<B, B>, T, B> for ABGR<T>[src]

impl<T: Copy, B> ComponentMap<ARGB<B, B>, T, B> for ARGB<T>[src]

impl<T: Copy, B> ComponentMap<BGR<B>, T, B> for BGR<T>[src]

impl<T: Copy, B> ComponentMap<BGRA<B, B>, T, B> for BGRA<T>[src]

impl<T: Copy, B> ComponentMap<Gray<B>, T, B> for Gray<T>[src]

impl<T: Copy, B> ComponentMap<GrayAlpha<B, B>, T, B> for GrayAlpha<T>[src]

impl<T: Copy, B> ComponentMap<RGB<B>, T, B> for RGB<T>[src]

impl<T: Copy, B> ComponentMap<RGBA<B, B>, T, B> for RGBA<T>[src]

Loading content...