logo
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

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Get the top left corner of the bounding box for an object

Get the bottom right corner of the bounding box for an object

Get the width and height for an object

Draw the graphics object using the supplied DrawTarget.

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates an iterator from a value. Read more

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));

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));

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.