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
sourceimpl<'a, I, C> Image<'a, I, C> where
&'a I: IntoPixelIter<C>,
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
impl<'a, I, C> Image<'a, I, C> where
&'a I: IntoPixelIter<C>,
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
sourcepub fn new(image_data: &'a I, position: Point) -> Self
pub fn new(image_data: &'a I, position: Point) -> Self
Create a new Image
with the given image pixel data.
The passed IntoPixelIter
provides a source of pixel data from the original image.
Trait Implementations
sourceimpl<'a, I, C> Dimensions for Image<'a, I, C> where
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
impl<'a, I, C> Dimensions for Image<'a, I, C> where
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
sourceimpl<'a, 'b, I, C> Drawable<C> for &'a Image<'b, I, C> where
&'b I: IntoPixelIter<C>,
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
impl<'a, 'b, I, C> Drawable<C> for &'a Image<'b, I, C> where
&'b I: IntoPixelIter<C>,
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
sourceimpl<'a, 'b, I, C> IntoIterator for &'a Image<'b, I, C> where
&'b I: IntoPixelIter<C>,
C: PixelColor + From<<C as PixelColor>::Raw>,
impl<'a, 'b, I, C> IntoIterator for &'a Image<'b, I, C> where
&'b I: IntoPixelIter<C>,
C: PixelColor + From<<C as PixelColor>::Raw>,
sourceimpl<I, C> Transform for Image<'_, I, C>
impl<I, C> Transform for Image<'_, I, C>
sourcefn 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));
sourcefn 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));
impl<'a, I: Copy, C: Copy> Copy for Image<'a, I, C>
Auto Trait Implementations
impl<'a, I, C> RefUnwindSafe for Image<'a, I, C> where
C: RefUnwindSafe,
I: RefUnwindSafe,
impl<'a, I, C> Send for Image<'a, I, C> where
C: Send,
I: Sync,
impl<'a, I, C> Sync for Image<'a, I, C> where
C: Sync,
I: Sync,
impl<'a, I, C> Unpin for Image<'a, I, C> where
C: Unpin,
impl<'a, I, C> UnwindSafe for Image<'a, I, C> where
C: UnwindSafe,
I: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more