Struct icns::Image [] [src]

pub struct Image {
    // some fields omitted
}

A decoded icon image.

An Image struct consists of a width, a height, a PixelFormat, and a data array encoding the image pixels in that format.

Regardless of format, pixel data for an image is always stored one complete pixel at a time, in row-major order (that is, the top-left pixel comes first, followed by the rest of the top row from left to right; then comes the second row down, again from left to right, and so on until finally the bottom-right pixel comes last).

Methods

impl Image
[src]

fn new(format: PixelFormat, width: u32, height: u32) -> Image

Creates a new image with all pixel data set to zero.

fn from_data(format: PixelFormat, width: u32, height: u32, data: Vec<u8>) -> Result<Image>

Creates a new image using the given pixel data. Returns an error if the data array is not the correct length.

fn pixel_format(&self) -> PixelFormat

Returns the format in which this image's pixel data is stored.

fn width(&self) -> u32

Returns the width of the image, in pixels.

fn height(&self) -> u32

Returns the height of the image, in pixels.

fn data(&self) -> &[u8]

Returns a reference to the image's pixel data.

fn data_mut(&mut self) -> &mut [u8]

Returns a mutable reference to the image's pixel data.

fn into_data(self) -> Box<[u8]>

Consumes the image, returning the pixel data without cloning it.

fn convert_to(&self, format: PixelFormat) -> Image

Creates a copy of this image by converting to the specified pixel format. This operation always succeeds, but may lose information (e.g. converting from RGBA to RGB will silently drop the alpha channel). If the source image is already in the requested format, this is equivalant to simply calling clone().

fn read_png<R: Read>(input: R) -> Result<Image>

Reads an image from a PNG file.

fn write_png<W: Write>(&self, output: W) -> Result<()>

Writes the image to a PNG file.

Trait Implementations

impl Clone for Image
[src]

fn clone(&self) -> Image

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more