ImageInfo class

A dart:ui.Image object with its corresponding scale.

ImageInfo objects are used by ImageStream objects to represent the actual data of the image once it has been obtained.

The disposing contract for ImageInfo (as well as for ui.Image) is different from traditional one, where an object should dispose a member if the object created the member. Instead, the disposal contract is as follows:

  • ImageInfo disposes image, even if it is received as a constructor argument.
  • ImageInfo is expected to be disposed not by the object, that created it, but by the object that owns reference to it.
  • It is expected that only one object owns reference to ImageInfo object.

Safety tips:

  • To share the ImageInfo or ui.Image between objects, use the clone method, which will not clone the entire underlying image, but only reference to it and information about it.
  • After passing a ui.Image or ImageInfo reference to another object, release the reference.


ImageInfo({required Image image, double scale = 1.0, String? debugLabel})
Creates an ImageInfo object for the given image and scale.


debugLabel String?
A string used for debugging purposes to identify the source of this image.
hashCode int
The hash code for this object.
no setteroverride
image Image
The raw image pixels.
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scale double
The linear scale factor for drawing this image at its intended size.
sizeBytes int
The size of raw image pixels in bytes.
no setter


clone() ImageInfo
Creates an ImageInfo with a cloned image.
dispose() → void
Disposes of this object.
isCloneOf(ImageInfo other) bool
Whether this ImageInfo is a clone of the other.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toString() String
A string representation of this object.


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