Struct native_windows_gui::ImageDecoder [−][src]
pub struct ImageDecoder { pub factory: *mut IWICImagingFactory, }
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
impl ImageDecoder
[src]
pub fn new() -> Result<ImageDecoder, NwgError>
[src]
pub fn builder() -> ImageDecoderBuilder
[src]
pub fn from_filename<'a>(&self, path: &'a str) -> Result<ImageSource, NwgError>
[src]
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
pub fn from_stream(&self, stream: &[u8]) -> Result<ImageSource, NwgError>
[src]
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
pub fn resize_image(
&self,
image: &ImageData,
new_size: [u32; 2]
) -> Result<ImageData, NwgError>
[src]
&self,
image: &ImageData,
new_size: [u32; 2]
) -> Result<ImageData, NwgError>
Resize an image, returning the new resized image. The pixel format might change.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for ImageDecoder
impl !Send for ImageDecoder
impl !Sync for ImageDecoder
impl Unpin for ImageDecoder
impl UnwindSafe for ImageDecoder
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,
pub 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, 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.
pub 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>,