pub struct Image<'a, C: PixelColor> { /* private fields */ }
Expand description

Store image data.

Image can be constructed using the include_image macro at compile time. To draw an image it must be put inside a Sprite.

Implementations§

source§

impl<'a, C: PixelColor> Image<'a, C>

source

pub const fn new( colors: &'a [C], transparenty: &'a [u8], width: u16, height: u16 ) -> Result<Self, Error>

create a new Image from a array of [PixelColor]s, a transparenty map.

Return an error, if the length of colors does not fit to the widht and height. You can unwrap the error in a const contexts, by using the konst crate see konst::result::unwrap_ctx for more informations.

transparency can be created by using the transparency! macro. It’s length doesn’t have to match the image length, missing data will be interpreted as fully opaque.

use embedded_graphics::pixelcolor::Bgr565;
use embedded_sprites::{image::Image, transparency};
use konst::result::unwrap_ctx;

type Color = Bgr565;
const IMAGE_DATA: [Color; 6] = [
	Color::new(255, 0, 0),
	Color::new(0, 255, 0),
	Color::new(0, 0, 255),
	Color::new(255, 0, 255),
	Color::new(255, 255, 255),
	Color::new(255, 255, 255),
];
const IMAGE: Image<Color> =
	unwrap_ctx!(Image::new(&IMAGE_DATA, &transparency![0, 0, 0, 1, 0], 3, 2));

Trait Implementations§

source§

impl<'a, C: Debug + PixelColor> Debug for Image<'a, C>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, C> RefUnwindSafe for Image<'a, C>where C: RefUnwindSafe,

§

impl<'a, C> Send for Image<'a, C>where C: Sync,

§

impl<'a, C> Sync for Image<'a, C>where C: Sync,

§

impl<'a, C> Unpin for Image<'a, C>

§

impl<'a, C> UnwindSafe for Image<'a, C>where C: RefUnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Az for T

source§

fn az<Dst>(self) -> Dstwhere T: Cast<Dst>,

Casts the value.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Src, Dst> CastFrom<Src> for Dstwhere Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dstwhere T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dstwhere T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dstwhere T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.