pub enum Error {
TooLarge,
NormalFormRequired(NormalForm),
ChannelCountMismatch(u8, u8),
WrongColor(ColorType),
}
Expand description
Denotes invalid flat sample buffers when trying to convert to stricter types.
The biggest use case being ImageBuffer
which expects closely packed
samples in a row major matrix representation. But this error type may be
resused for other import functions. A more versatile user may also try to
correct the underlying representation depending on the error variant.
Variants§
TooLarge
The represented image was too large.
The optional value denotes a possibly accepted maximal bound.
NormalFormRequired(NormalForm)
The represented image can not use this representation.
Has an additional value of the normalized form that would be accepted.
ChannelCountMismatch(u8, u8)
The color format did not match the channel count.
In some cases you might be able to fix this by lowering the reported pixel count of the buffer without touching the strides.
In very special circumstances you may do the opposite. This is VERY dangerous but not
directly memory unsafe although that will likely alias pixels. One scenario is when you
want to construct an Rgba
image but have only 3 bytes per pixel and for some reason don’t
care about the value of the alpha channel even though you need Rgba
.
WrongColor(ColorType)
Deprecated - ChannelCountMismatch is used instead
Trait Implementations§
source§impl Error for Error
impl Error for Error
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl From<Error> for ImageError
impl From<Error> for ImageError
source§fn from(error: Error) -> ImageError
fn from(error: Error) -> ImageError
impl Copy for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)