ExtendedResizeImage class

Instructs Flutter to decode the image at the specified dimensions instead of at its native size.

This allows finer control of the size of the image in ImageCache and is generally used to reduce the memory footprint of ImageCache.

The decoded image may still be displayed at sizes other than the cached size provided here.

Inheritance
Mixed in types

Constructors

ExtendedResizeImage(ImageProvider<Object> imageProvider, {double? compressionRatio, int? maxBytes = 50 << 10, int? width, int? height, bool allowUpscaling = false, bool cacheRawData = false, String? imageCacheName, ResizeImagePolicy policy = ResizeImagePolicy.exact})
const

Properties

allowUpscaling bool
Whether the width and height parameters should be clamped to the intrinsic width and height of the image.
final
cacheRawData bool
Whether cache raw data if you need to get raw data directly. For example, we need raw image data to edit, but ui.Image.toByteData() is very slow. So we cache the image data here.
final
compressionRatio double?
The images size will resize to original * [compressionRatio]. It's ExtendedResizeImages first pick. The compressionRatio`s range is from 0.0 (exclusive), to 1.0 (exclusive). it's not supported on web
final
hashCode int
The hash code for this object.
no setteroverride
height int?
The height the image should decode to and cache.
final
imageCache ImageCache
The ImageCache which this is stored in it.
no setterinherited
imageCacheName String?
The name of ImageCache, you can define custom ImageCache to store this provider.
final
imageProvider ImageProvider<Object>
The ImageProvider that this class wraps.
final
maxBytes int?
ExtendedResizeImage will compress the image to a size that is smaller than maxBytes. The default size is 50KB. It's actual bytes of Image, not decode bytes it's not supported on web
final
policy ResizeImagePolicy
The policy that determines how width and height are interpreted.
final
rawImageData Uint8List
The raw data of image
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
width int?
The width the image should decode to and cache.
final

Methods

createStream(ImageConfiguration configuration) ImageStream
Called by resolve to create the ImageStream it returns.
inherited
evict({ImageCache? cache, ImageConfiguration configuration = ImageConfiguration.empty, bool includeLive = true}) Future<bool>
Evicts an entry from the image cache.
inherited
instantiateImageCodec(Uint8List data, ImageDecoderCallback decode) Future<Codec>
Override this method, so that you can handle raw image data, for example, compress
inherited
loadBuffer(_SizeAwareCacheKey key, DecoderBufferCallback decode) ImageStreamCompleter
Converts a key into an ImageStreamCompleter, and begins fetching the image.
inherited
loadImage(_SizeAwareCacheKey key, ImageDecoderCallback decode) ImageStreamCompleter
Converts a key into an ImageStreamCompleter, and begins fetching the image.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
obtainCacheStatus({required ImageConfiguration configuration, ImageErrorListener? handleError}) Future<ImageCacheStatus?>
Returns the cache location for the key that this ImageProvider creates.
inherited
obtainKey(ImageConfiguration configuration) Future<_SizeAwareCacheKey>
Converts an ImageProvider's settings plus an ImageConfiguration to a key that describes the precise image to load.
override
obtainNewKey<S>(S createNewKey(_SizeAwareCacheKey value), Future<_SizeAwareCacheKey> obtainKey()) Future<S>
obtain new key base on old key
inherited
resolve(ImageConfiguration configuration) ImageStream
Resolves this image provider using the given configuration, returning an ImageStream.
inherited
resolveStreamForKey(ImageConfiguration configuration, ImageStream stream, _SizeAwareCacheKey key, ImageErrorListener handleError) → void
Called by resolve with the key returned by obtainKey.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
override

Static Methods

resizeIfNeeded({required ImageProvider<Object> provider, int? cacheWidth, int? cacheHeight, double? compressionRatio, int? maxBytes, bool cacheRawData = false, String? imageCacheName}) ImageProvider<Object>
Composes the provider in a ResizeImage only when cacheWidth and cacheHeight are not both null.