[−][src]Crate xblend
XBlend
xblend is a simple color library can calculate color blending.
homepage
Documentation
Source
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 |