Enum ImageFormat
#[non_exhaustive]
pub enum ImageFormat
An enumeration of supported image formats. Not all formats support both encoding and decoding.
Variants
-
Png An Image in PNG Format
-
Jpeg An Image in JPEG Format
-
Gif An Image in GIF Format
-
WebP An Image in WEBP Format
-
Pnm An Image in general PNM Format
-
Tiff An Image in TIFF Format
-
Tga An Image in TGA Format
-
Dds An Image in DDS Format
-
Bmp An Image in BMP Format
-
Ico An Image in ICO Format
-
Hdr An Image in Radiance HDR Format
-
OpenExr An Image in OpenEXR Format
-
Farbfeld An Image in farbfeld Format
-
Avif An Image in AVIF Format
-
Qoi An Image in QOI Format
Implementations
impl ImageFormat
fn from_extension<S>(ext: S) -> Option<Self> where S: AsRef<OsStr>,Return the image format specified by a path's file extension.
Example
use ImageFormat; let format = from_extension; assert_eq!;fn from_path<P>(path: P) -> ImageResult<Self> where P: AsRef<Path>,Return the image format specified by the path's file extension.
Example
use ImageFormat; let format = from_path?; assert_eq!; # Ok::fn from_mime_type<M>(mime_type: M) -> Option<Self> where M: AsRef<str>,Return the image format specified by a MIME type.
Example
use ImageFormat; let format = from_mime_type.unwrap; assert_eq!;fn to_mime_type(&self) -> &'static strReturn the MIME type for this image format or "application/octet-stream" if no MIME type exists for the format.
Some notes on a few of the MIME types:
- The portable anymap format has a separate MIME type for the pixmap, graymap and bitmap formats, but this method returns the general "image/x-portable-anymap" MIME type.
- The Targa format has two common MIME types, "image/x-targa" and "image/x-tga"; this method returns "image/x-targa" for that format.
- The QOI MIME type is still a work in progress. This method returns "image/x-qoi" for that format.
Example
use ImageFormat; let mime_type = Png.to_mime_type; assert_eq!;fn can_read(&self) -> boolReturn if the
ImageFormatcan be decoded by the lib.fn can_write(&self) -> boolReturn if the
ImageFormatcan be encoded by the lib.fn extensions_str(self) -> &'static [&'static str]Return a list of applicable extensions for this format.
All currently recognized image formats specify at least on extension but for future compatibility you should not rely on this fact. The list may be empty if the format has no recognized file representation, for example in case it is used as a purely transient memory format.
The method name
extensionsremains reserved for introducing another method in the future that yields a slice ofOsStrwhich is blocked by several features of const evaluation.fn reading_enabled(&self) -> boolReturn the
ImageFormats which are enabled for reading.fn writing_enabled(&self) -> boolReturn the
ImageFormats which are enabled for writing.fn all() -> impl Iterator<Item = ImageFormat>Return all
ImageFormats
Trait Implementations
impl Clone for ImageFormat
fn clone(&self) -> ImageFormat
impl Copy for ImageFormat
impl Debug for ImageFormat
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for ImageFormat
impl Hash for ImageFormat
fn hash<__H: Hasher>(&self, state: &mut __H)
impl PartialEq for ImageFormat
fn eq(&self, other: &ImageFormat) -> bool
impl StructuralPartialEq for ImageFormat
Auto Trait Implementations
impl Freeze for ImageFormat
impl RefUnwindSafe for ImageFormat
impl Send for ImageFormat
impl Sync for ImageFormat
impl Unpin for ImageFormat
impl UnsafeUnpin for ImageFormat
impl UnwindSafe for ImageFormat
Blanket Implementations
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for ImageFormat
where
ST: ?Sized,
DT: ?Sized,
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for ImageFormat
where
ST: ?Sized,
DT: ?Sized,
impl<T> Any for ImageFormat
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for ImageFormat
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for ImageFormat
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for ImageFormat
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for ImageFormat
fn from(t: T) -> TReturns the argument unchanged.
impl<T> IntoEither for ImageFormat
impl<T> Pointable for ImageFormat
const ALIGN: usize = _;type Init = T;unsafe fn init(init: <T as Pointable>::Init) -> usizeunsafe fn deref<'a>(ptr: usize) -> &'a Tunsafe fn deref_mut<'a>(ptr: usize) -> &'a mut Tunsafe fn drop(ptr: usize)
impl<T> Read<Exclusive, BecauseExclusive> for ImageFormat
where
T: ?Sized,
impl<T> ToOwned for ImageFormat
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for ImageFormat
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for ImageFormat
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for ImageFormat
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>