Image constructor

const Image({
  1. Key? key,
  2. required ImageProvider<Object> image,
  3. ImageFrameBuilder? frameBuilder,
  4. ImageLoadingBuilder? loadingBuilder,
  5. ImageErrorWidgetBuilder? errorBuilder,
  6. String? semanticLabel,
  7. bool excludeFromSemantics = false,
  8. double? width,
  9. double? height,
  10. Color? color,
  11. Animation<double>? opacity,
  12. BlendMode? colorBlendMode,
  13. BoxFit? fit,
  14. AlignmentGeometry alignment = Alignment.center,
  15. ImageRepeat repeat = ImageRepeat.noRepeat,
  16. Rect? centerSlice,
  17. bool matchTextDirection = false,
  18. bool gaplessPlayback = false,
  19. bool isAntiAlias = false,
  20. FilterQuality filterQuality = FilterQuality.medium,
})

Creates a widget that displays an image.

To show an image from the network or from an asset bundle, consider using Image.network and Image.asset respectively.

The scale argument specifies the linear scale factor for drawing this image at its intended size and applies to both the width and the height. For example, if this is 2.0, it means that there are four image pixels for every one logical pixel, and the image's actual width and height (as given by the dart:ui.Image.width and dart:ui.Image.height properties) are double the height and width that should be used when painting the image (e.g. in the arguments given to Canvas.drawImage).

Either the width and height arguments should be specified, or the widget should be placed in a context that sets tight layout constraints. Otherwise, the image dimensions will change as the image is loaded, which will result in ugly layout changes.

Use filterQuality to specify the rendering quality of the image.

If excludeFromSemantics is true, then semanticLabel will be ignored.

Implementation

const Image({
  super.key,
  required this.image,
  this.frameBuilder,
  this.loadingBuilder,
  this.errorBuilder,
  this.semanticLabel,
  this.excludeFromSemantics = false,
  this.width,
  this.height,
  this.color,
  this.opacity,
  this.colorBlendMode,
  this.fit,
  this.alignment = Alignment.center,
  this.repeat = ImageRepeat.noRepeat,
  this.centerSlice,
  this.matchTextDirection = false,
  this.gaplessPlayback = false,
  this.isAntiAlias = false,
  this.filterQuality = FilterQuality.medium,
});