[−][src]Struct native_windows_gui::ImageDecoder
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 IWICImagingFactoryImplementations
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[src]
impl !Send for ImageDecoder[src]
impl !Sync for ImageDecoder[src]
impl Unpin for ImageDecoder[src]
impl UnwindSafe for ImageDecoder[src]
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>,