Module embedded_graphics::examples [−][src]
Expand description
Drawing examples
Draw a single pixel
This example draws a single green pixel.
For cases where many pixels are drawn it is preferable to implement
a custom iterator instead of calling Pixel::draw
for each pixel, because
some display drivers implement accelerated drawing of iterators.
use embedded_graphics::{pixelcolor::Rgb888, prelude::*}; Pixel(Point::new(32, 32), Rgb888::GREEN).draw(&mut display)?;
Draw a line
This example draws a red line with 8px stroke.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{Line, PrimitiveStyle}, }; Line::new(Point::new(16, 24), Point::new(51, 34)) .into_styled(PrimitiveStyle::with_stroke(Rgb888::RED, 8)) .draw(&mut display)?;
Draw a rectangle
This example draws a rectangle with a 2px thick red stroke and cyan fill color.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{PrimitiveStyleBuilder, Rectangle}, }; Rectangle::new(Point::new(16, 24), Size::new(32, 16)) .into_styled( PrimitiveStyleBuilder::new() .stroke_width(2) .stroke_color(Rgb888::RED) .fill_color(Rgb888::CYAN) .build(), ) .draw(&mut display)?;
Draw a circle
This example draws a circle with no stroke and a solid blue fill.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{Circle, PrimitiveStyle}, }; Circle::new(Point::new(16, 16), 40) .into_styled(PrimitiveStyle::with_fill(Rgb888::BLUE)) .draw(&mut display)?;
Draw an ellipse
This example draws an ellipse with a 2px green stroke.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{Ellipse, PrimitiveStyle}, }; Ellipse::new(Point::new(8, 16), Size::new(48, 32)) .into_styled(PrimitiveStyle::with_stroke(Rgb888::GREEN, 2)) .draw(&mut display)?;
Draw an arc
This example draws an arc with a 2px green stroke.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{Arc, PrimitiveStyle}, }; Arc::new(Point::new(12, 12), 40, -30.0.deg(), 150.0.deg()) .into_styled(PrimitiveStyle::with_stroke(Rgb888::GREEN, 2)) .draw(&mut display)?;
Draw a sector
This example draws a sector with no stroke and a solid blue fill.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{PrimitiveStyle, Sector}, }; Sector::new(Point::new(12, 12), 40, -30.0.deg(), 150.0.deg()) .into_styled(PrimitiveStyle::with_fill(Rgb888::BLUE)) .draw(&mut display)?;
Draw a triangle
This example draws a triangle with a solid 1px magenta stroke and no fill.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{PrimitiveStyle, Triangle}, }; Triangle::new(Point::new(32, 16), Point::new(16, 48), Point::new(48, 48)) .into_styled(PrimitiveStyle::with_stroke(Rgb888::MAGENTA, 1)) .draw(&mut display)?;
Draw a polyline
This example draws a polyline with 1px cyan stroke.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{Polyline, PrimitiveStyle}, }; let points: [Point; 5] = [ Point::new(8, 8), Point::new(48, 16), Point::new(32, 48), Point::new(16, 32), Point::new(32, 32), ]; Polyline::new(&points) .into_styled(PrimitiveStyle::with_stroke(Rgb888::CYAN, 1)) .draw(&mut display)?;
Draw a rectangle with rounded corners
This example draws a rectangle with rounded corners, red stroke and green fill.
use embedded_graphics::{ pixelcolor::Rgb888, prelude::*, primitives::{PrimitiveStyleBuilder, Rectangle, RoundedRectangle}, }; let style = PrimitiveStyleBuilder::new() .stroke_color(Rgb888::RED) .stroke_width(3) .fill_color(Rgb888::GREEN) .build(); RoundedRectangle::with_equal_corners( Rectangle::new(Point::new(8, 16), Size::new(48, 32)), Size::new(10, 10), ) .into_styled(style) .draw(&mut display)?;
Draw some text
This example draws the text "Hello,\nRust!" with the Font6x10
font in green.
use embedded_graphics::{ mono_font::{ascii::FONT_6X10, MonoTextStyle}, pixelcolor::Rgb888, prelude::*, text::Text, }; let style = MonoTextStyle::new(&FONT_6X10, Rgb888::GREEN); Text::new("Hello,\nRust!", Point::new(2, 28), style).draw(&mut display)?;
Display a TGA image
This example uses tinytga to draw an image to the display.
use embedded_graphics::{image::Image, pixelcolor::Rgb888, prelude::*}; use tinytga::Tga; // Load the TGA image let tga: Tga<Rgb888> = Tga::from_slice(include_bytes!("../assets/rust-pride.tga")).unwrap(); let image = Image::new(&tga, Point::zero()); // Display the image image.draw(&mut display)?;