pub struct ImageDecoder {
    pub factory: *mut IWICImagingFactory,
}
Expand description

A image decoder. Can load an extended number of image file format from a filename, from a file handle, or from a stream.

ImageDecoder do not take any parameter to build, but it still provides a builder API to match the other component of NWG. You can also use “ImageDecoder::new” to avoid the builder API.

There’s not much reason to have more than 1 image decoder per application.

Images loaded from a decoder cannot be used as-is by an image frame. They must first be converted to a bitmap resource.

use native_windows_gui as nwg;
fn open_image(decoder: &nwg::ImageDecoder) -> Result<nwg::ImageData, nwg::NwgError> {
    decoder
        .from_filename("corn.png")?
        .frame(0)
}
use native_windows_gui as nwg;
fn build_image_decode(decode: &mut nwg::ImageDecoder) -> Result<(), nwg::NwgError> {
    nwg::ImageDecoder::builder()
        .build(decode)
}

Fields

factory: *mut IWICImagingFactory

Implementations

Try to read an image from a file path. The file type can be any of the native WIC codecs (https://docs.microsoft.com/en-us/windows/win32/wic/native-wic-codecs)

  • If there is an error during the decoding, returns a NwgError.
  • If the image decoder was not initialized, this method panics

This method returns a ImageSource object

Build an image from a stream of data. The file type can be any of the native WIC codecs (https://docs.microsoft.com/en-us/windows/win32/wic/native-wic-codecs)

  • If there is an error during the decoding, returns a NwgError.
  • If the image decoder was not initialized, this method panics

This method copies the bytes and returns a ImageSource object

Resize an image, returning the new resized image. The pixel format might change.

Trait Implementations

Returns the “default value” for a type. Read more

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.