Struct embedded_graphics::image::Image
source · pub struct Image<'a, I, C> { /* private fields */ }
Expand description
Image drawable.
The Image
struct serves as a wrapper around other image types that provide pixel data decoded
from a given format (raw bytes, BMP, TGA, etc). It allows an image to be repositioned using
Transform::translate()
or Transform::translate_mut()
and drawn to a display that
implements the DrawTarget
trait.
Image
accepts any item that implements ImageDimensions
and &'_ IntoPixelIter
.
Refer to the module documentation for examples.
Implementations§
Trait Implementations§
source§impl<'a, I, C> Dimensions for Image<'a, I, C>
impl<'a, I, C> Dimensions for Image<'a, I, C>
source§impl<'a, 'b, I, C> IntoIterator for &'a Image<'b, I, C>
impl<'a, 'b, I, C> IntoIterator for &'a Image<'b, I, C>
source§impl<I, C> Transform for Image<'_, I, C>
impl<I, C> Transform for Image<'_, I, C>
source§fn translate(&self, by: Point) -> Self
fn translate(&self, by: Point) -> Self
Translate the image by a given delta, returning a new image
§Examples
§Move an image around
This examples moves a 4x4 black and white image by (10, 20)
pixels without mutating the
original image
use embedded_graphics::{
geometry::Point,
image::{Image, ImageRaw},
pixelcolor::BinaryColor,
prelude::*,
};
let image: ImageRaw<BinaryColor> = ImageRaw::new(&[0xff, 0x00, 0xff, 0x00], 4, 4);
let image: Image<_, BinaryColor> = Image::new(&image, Point::zero());
let image_moved = image.translate(Point::new(10, 20));
assert_eq!(image.top_left(), Point::zero());
assert_eq!(image_moved.top_left(), Point::new(10, 20));
source§fn translate_mut(&mut self, by: Point) -> &mut Self
fn translate_mut(&mut self, by: Point) -> &mut Self
Translate the image by a given delta, modifying the original object
§Examples
§Move an image around
This examples moves a 4x4 black and white image by (10, 20)
pixels by mutating the
original image
use embedded_graphics::{
geometry::Point,
image::{Image, ImageRaw},
pixelcolor::BinaryColor,
prelude::*,
};
let image: ImageRaw<BinaryColor> = ImageRaw::new(&[0xff, 0x00, 0xff, 0x00], 4, 4);
let mut image: Image<_, BinaryColor> = Image::new(&image, Point::zero());
image.translate_mut(Point::new(10, 20));
assert_eq!(image.top_left(), Point::new(10, 20));