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
-
- Object
- ImageProvider<
_SizeAwareCacheKey> - ExtendedResizeImage
- Mixed-in types
-
- ExtendedImageProvider<
_SizeAwareCacheKey>
- ExtendedImageProvider<
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 image
s size will resize to original * [compressionRatio]. It's ExtendedResizeImage
s first pick. The compressionRatio`s range is from 0.0 (exclusive), to 1.0 (exclusive). it's not supported on webfinal - 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
-
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 ==(
dynamic 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 whencacheWidth
andcacheHeight
are not both null.