Expand description
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 3*3
image is going to be stored on 3*3*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
sourceimpl<'a> ImageData<'a>
impl<'a> ImageData<'a>
sourcepub fn into_owned_bytes(self) -> Cow<'static, [u8]>
pub fn into_owned_bytes(self) -> Cow<'static, [u8]>
Returns a the bytes field in a way that it’s guaranteed to be owned. It moves the bytes if they are already owned and clones them if they are borrowed.
sourcepub fn to_owned_img(&self) -> ImageData<'static>
pub fn to_owned_img(&self) -> ImageData<'static>
Returns an image data that is guaranteed to own its bytes. It moves the bytes if they are already owned and clones them if they are borrowed.
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more