#[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§

§

impl ImageFormat

pub fn from_extension<S>(ext: S) -> Option<ImageFormat>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));

pub fn from_path<P>(path: P) -> Result<ImageFormat, ImageError>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);

pub fn from_mime_type<M>(mime_type: M) -> Option<ImageFormat>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);

pub fn can_read(&self) -> bool

Return if the ImageFormat can be decoded by the lib.

pub fn can_write(&self) -> bool

Return if the ImageFormat can be encoded by the lib.

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.

Trait Implementations§

§

impl Clone for ImageFormat

§

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
§

impl Debug for ImageFormat

§

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

Formats the value using the given formatter. Read more
§

impl From<ImageFormat> for ImageFormatHint

§

fn from(format: ImageFormat) -> ImageFormatHint

Converts to this type from the input type.
§

impl From<ImageFormat> for ImageOutputFormat

§

fn from(fmt: ImageFormat) -> ImageOutputFormat

Converts to this type from the input type.
§

impl Hash for ImageFormat

§

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

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
§

impl PartialEq<ImageFormat> for ImageFormat

§

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.
§

impl Copy for ImageFormat

§

impl Eq for ImageFormat

§

impl StructuralEq for ImageFormat

§

impl StructuralPartialEq for ImageFormat

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AnyEq for Twhere T: Any + PartialEq<T>,

§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

§

fn as_any(&self) -> &(dyn Any + 'static)

source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

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

const: unstable · 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.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> RoundFrom<T> for T

§

fn round_from(x: T) -> T

Performs the conversion.
§

impl<T, U> RoundInto<U> for Twhere U: RoundFrom<T>,

§

fn round_into(self) -> U

Performs the conversion.
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more