Enum image::ImageFormat

source ·
#[non_exhaustive]
pub enum ImageFormat {
Show 15 variants Png, Jpeg, Gif, WebP, Pnm, Tiff, Tga, Dds, Bmp, Ico, Hdr, OpenExr, Farbfeld, Avif, Qoi,
}
Expand description

An enumeration of supported image formats. Not all formats support both encoding and decoding.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future 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§

source§

impl ImageFormat

source

pub 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 image::ImageFormat;

let format = ImageFormat::from_extension("jpg");
assert_eq!(format, Some(ImageFormat::Jpeg));
source

pub 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 image::ImageFormat;

let format = ImageFormat::from_path("images/ferris.png")?;
assert_eq!(format, ImageFormat::Png);
source

pub 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 image::ImageFormat;

let format = ImageFormat::from_mime_type("image/png").unwrap();
assert_eq!(format, ImageFormat::Png);
source

pub fn to_mime_type(&self) -> &'static str

Return 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 image::ImageFormat;

let mime_type = ImageFormat::Png.to_mime_type();
assert_eq!(mime_type, "image/png");
source

pub fn can_read(&self) -> bool

Return if the ImageFormat can be decoded by the lib.

source

pub fn can_write(&self) -> bool

Return if the ImageFormat can be encoded by the lib.

source

pub 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 extensions remains reserved for introducing another method in the future that yields a slice of OsStr which is blocked by several features of const evaluation.

source

pub fn reading_enabled(&self) -> bool

Return the ImageFormats which are enabled for reading.

source

pub fn writing_enabled(&self) -> bool

Return the ImageFormats which are enabled for writing.

source

pub fn all() -> impl Iterator<Item = ImageFormat>

Return all ImageFormats

Trait Implementations§

source§

impl Clone for ImageFormat

source§

fn clone(&self) -> ImageFormat

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for ImageFormat

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<ImageFormat> for ImageFormatHint

source§

fn from(format: ImageFormat) -> Self

Converts to this type from the input type.
source§

impl From<ImageFormat> for ImageOutputFormat

source§

fn from(fmt: ImageFormat) -> Self

Converts to this type from the input type.
source§

impl Hash for ImageFormat

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ImageFormat

source§

fn eq(&self, other: &ImageFormat) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ImageFormat

source§

impl Eq for ImageFormat

source§

impl StructuralPartialEq for ImageFormat

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Copy,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.