[−][src]Struct arboard::ImageData
Stores pixel data of an image.
Each element in bytes
stores the value of a channel of a single pixel.
This struct stores four channels (red, green, blue, alpha) so
a 33 image is going to be stored on 33*4 = 36 bytes of data.
The pixels are in row-major order meaning that the second pixel
in bytes
(starting at the fifth byte) corresponds to the pixel that's
sitting to the right side of the top-left pixel (x=1, y=0)
Assigning a 2*1 image would for example look like this
use arboard::ImageData; use std::borrow::Cow; let bytes = [ // A red pixel 255, 0, 0, 255, // A green pixel 0, 255, 0, 255, ]; let img = ImageData { width: 2, height: 1, bytes: Cow::from(bytes.as_ref()) };
Fields
width: usize
height: usize
bytes: Cow<'a, [u8]>
Implementations
impl<'a> ImageData<'a>
[src]
pub fn into_owned_bytes(self) -> Cow<'static, [u8]>
[src]
pub fn to_cloned(&self) -> ImageData<'static>
[src]
Returns a new image data that is guaranteed to own its bytes.
In contrast the clone()
function will yield borrowed bytes if the
original was borrowed too.
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for ImageData<'a>
impl<'a> Send for ImageData<'a>
impl<'a> Sync for ImageData<'a>
impl<'a> Unpin for ImageData<'a>
impl<'a> UnwindSafe for ImageData<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,