Crate xblend

Crate xblend 

Source
Expand description

§XBlend

xblend is a simple color library can calculate color blending.

§homepage

crates.io

§Documentation

docs.rs

§Source

github

§Abstract

XBlend has two important structures: RGB<T> & RGBA<T>
where T can be f32 or u8 It’s convenient to convert from each other and build a new color

§Some examples

§Create a RGB/RGBA color
extern crate xblend;
use xblend::*;
let color1 = rgba!(1.0,1.0,0.0,1.0);
let color2 = rgba!(255,255,0,255);
let color3 = rgba!(0xFFFF00FF);
§Calculate the sum of two color
// it's safe to overflow
// the alpha component will NOT be evaluated
assert_eq!(color2 + color3, rgba!(254,254,0,255));
§Blend two color
use xblend::blend::SrcATop;
let color1 = rgba!(128,133,0,128).to_f32();
let color2 = rgba!(0.4,0.2,0.1,0.5);
// Only RGBA<f32> can blended with src_out.
// SrcOut Blending Mode
assert_eq!(color1.src_atop(color2).to_u8(), rgba!(114,91,12,127));

Modules§

blend
Some blend modes

Macros§

rgb
A useful macro to create a Color with 3 components or an integer value.
rgba
A useful macro to create a Color with 4 components or an integer value.

Structs§

RGB
This struct represents a RGB color
RGBA
This struct represents a RGBA color

Traits§

InnerType
A marker that represents the type of the inner value of RGB/RGBA
IntoRGB
A useful trait to convert the other type to RGB
IntoRGBA
A useful trait to convert the other type to RGBA