decode

open fun decode(    source: Drawable,     width: Int,     height: Int,     options: Options): Resource<Drawable>

Returns a decoded resource from the given data or null if no resource could be decoded.

The source is managed by the caller, there's no need to close it. The returned Resource will be released when the engine sees fit.

Note - The width and height arguments are hints only, there is no requirement that the decoded resource exactly match the given dimensions. A typical use case would be to use the target dimensions to determine how much to downsample Bitmaps by to avoid overly large allocations.

Parameters

source

The data the resource should be decoded from.

width

The ideal width in pixels of the decoded resource, or SIZE_ORIGINAL to indicate the original resource width.

height

The ideal height in pixels of the decoded resource, or SIZE_ORIGINAL to indicate the original resource height.

options

A map of string keys to objects that may or may not contain options available to this particular implementation. Implementations should not assume that any or all of their option keys are present. However, implementations may assume that if one of their option keys is present, it's value is non-null and is of the expected type.

Throws

typically only if the source (java.io.InputStream, etc) throws while being read.

is sometimes thrown if the the request produces an overly large result due to some combination of source size, requested size, source format and requested format. Callers do/must handle this error and implementations can throw this error.

is thrown by a variety of decoding libraries, including various Android libraries. Callers do/must handle this error and implementations can throw this exception or, preferably, more detailed subclasses.