pub struct Color { /* private fields */ }
Expand description
An RGBA color value, holding four floating point components.
Guarantees
- All values are in 0..=1 range.
Implementations§
source§impl Color
impl Color
sourcepub const TRANSPARENT: Color = _
pub const TRANSPARENT: Color = _
A transparent color.
sourcepub fn from_rgba(r: f32, g: f32, b: f32, a: f32) -> Option<Self>
pub fn from_rgba(r: f32, g: f32, b: f32, a: f32) -> Option<Self>
Creates a new color from 4 components.
All values must be in 0..=1 range.
sourcepub fn from_rgba8(r: u8, g: u8, b: u8, a: u8) -> Self
pub fn from_rgba8(r: u8, g: u8, b: u8, a: u8) -> Self
Creates a new color from 4 components.
u8 will be divided by 255 to get the float component.
Examples found in repository?
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
fn main() {
let mut paint = Paint::default();
paint.shader = LinearGradient::new(
Point::from_xy(100.0, 100.0),
Point::from_xy(900.0, 900.0),
vec![
GradientStop::new(0.0, Color::from_rgba8(50, 127, 150, 200)),
GradientStop::new(1.0, Color::from_rgba8(220, 140, 75, 180)),
],
SpreadMode::Pad,
Transform::identity(),
)
.unwrap();
let mut pb = PathBuilder::new();
pb.move_to(60.0, 60.0);
pb.line_to(160.0, 940.0);
pb.cubic_to(380.0, 840.0, 660.0, 800.0, 940.0, 800.0);
pb.cubic_to(740.0, 460.0, 440.0, 160.0, 60.0, 60.0);
pb.close();
let path = pb.finish().unwrap();
let mut pixmap = Pixmap::new(1000, 1000).unwrap();
pixmap.fill_path(
&path,
&paint,
FillRule::Winding,
Transform::identity(),
None,
);
pixmap.save_png("image.png").unwrap();
}
sourcepub fn red(&self) -> f32
pub fn red(&self) -> f32
Returns color’s red component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn green(&self) -> f32
pub fn green(&self) -> f32
Returns color’s green component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn blue(&self) -> f32
pub fn blue(&self) -> f32
Returns color’s blue component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn alpha(&self) -> f32
pub fn alpha(&self) -> f32
Returns color’s alpha component.
The value is guarantee to be in a 0..=1 range.
sourcepub fn set_red(&mut self, c: f32)
pub fn set_red(&mut self, c: f32)
Sets the red component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn set_green(&mut self, c: f32)
pub fn set_green(&mut self, c: f32)
Sets the green component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn set_blue(&mut self, c: f32)
pub fn set_blue(&mut self, c: f32)
Sets the blue component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn set_alpha(&mut self, c: f32)
pub fn set_alpha(&mut self, c: f32)
Sets the alpha component value.
The new value will be clipped to the 0..=1 range.
sourcepub fn apply_opacity(&mut self, opacity: f32)
pub fn apply_opacity(&mut self, opacity: f32)
Shifts color’s opacity.
Essentially, multiplies color’s alpha by opacity.
opacity
will be clamped to the 0..=1 range first.
The final alpha will also be clamped.
sourcepub fn premultiply(&self) -> PremultipliedColor
pub fn premultiply(&self) -> PremultipliedColor
Converts into a premultiplied color.
sourcepub fn to_color_u8(&self) -> ColorU8
pub fn to_color_u8(&self) -> ColorU8
Converts into ColorU8
.