pub struct ImagePreview { /* private fields */ }Expand description
Thumbnail for Image, Video, and
Link messages. Also used as bot profile pictures. The source is stored
lazily and resolved when resolve or try_resolve is
called(either manually or automatically by message builders). Any error falls back to a default
~600 bytes in size JPEG placeholder.
Implementations§
Source§impl ImagePreview
impl ImagePreview
Sourcepub fn from_bytes(bytes: impl Into<Vec<u8>>) -> Self
pub fn from_bytes(bytes: impl Into<Vec<u8>>) -> Self
Thumbnail from raw JPEG bytes. Fails on resolve if the encoded data URI exceeds 13333 bytes.
Sourcepub fn raw(uri: impl Into<String>) -> Self
pub fn raw(uri: impl Into<String>) -> Self
Thumbnail from a pre-assembled `data:image/jpg;base64,{base64_contents} URI string.
Sourcepub fn from_file(path: impl AsRef<Path>) -> Self
pub fn from_file(path: impl AsRef<Path>) -> Self
Thumbnail loaded from a file; the file is read lazily when resolved.
pub fn kind(&self) -> PreviewKind
Sourcepub fn from_crypto_file(file: CryptoFile) -> Self
Available on crate feature native_crypto only.
pub fn from_crypto_file(file: CryptoFile) -> Self
native_crypto only.Thumbnail loaded from an encrypted file; decrypted lazily when resolved.
Sourcepub fn with_transcoder(self, transcoder: Transcoder) -> Self
Available on crate feature multimedia only.
pub fn with_transcoder(self, transcoder: Transcoder) -> Self
multimedia only.Attach a custom Transcoder to transcode the source as a JPEG thumbnail on resolve.
Transcoder transcodes images of any widespread format to JPEGs.
Has no effect on default and raw sources, they always passed as is.
pub fn set_transcoder(&mut self, transcoder: Transcoder)
multimedia only.Sourcepub async fn resolve(self) -> String
pub async fn resolve(self) -> String
Like Self::try_resolve but falls back to the default placeholder preview on error.
Sourcepub async fn try_resolve(self) -> Result<String, PreviewError>
Available on crate feature multimedia only.
pub async fn try_resolve(self) -> Result<String, PreviewError>
multimedia only.Returns the preview as a data:image/jpg;base64,{base64_contents} URI. The source is
assumed to be a valid JPEG(encoding is not validated) when multimedia feature is off or is
lazily transcoded to JPEG when multimedia feature is on. Fails if the source cannot be read
or the encoded URI exceeds 13333 bytes.
Trait Implementations§
Source§impl Clone for ImagePreview
impl Clone for ImagePreview
Source§fn clone(&self) -> ImagePreview
fn clone(&self) -> ImagePreview
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ImagePreview
impl Debug for ImagePreview
Auto Trait Implementations§
impl Freeze for ImagePreview
impl RefUnwindSafe for ImagePreview
impl Send for ImagePreview
impl Sync for ImagePreview
impl Unpin for ImagePreview
impl UnsafeUnpin for ImagePreview
impl UnwindSafe for ImagePreview
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§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().