Struct arboard::ImageData [−][src]
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
impl<'a> ImageData<'a>
[src]
impl<'a> ImageData<'a>
[src]pub fn into_owned_bytes(self) -> Cow<'static, [u8]>
[src]
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.
pub fn to_owned_img(&self) -> ImageData<'static>
[src]
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> RefUnwindSafe for ImageData<'a>
impl<'a> UnwindSafe for ImageData<'a>
impl<'a> UnwindSafe for ImageData<'a>