如何获得抖动图像的尺寸?

时间:2019-09-11 13:37:40

标签: flutter dart

我需要根据宽度和高度从图像计算宽高比

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,则需要小部件的大小。 为此,您必须使用GlobalKey

final _key = GlobalKey();

然后在创建窗口小部件时设置key

Image.asset('asset_image', key: _key,); //it can be any widget

在获得此小部件的大小之后:

Size size = _key.currentContext.size;
double height = _key.currentContext.size.height;
double width = _key.currentContext.size.width;
double aspectRatio = _key.currentContext.size.aspectRatio;

NetworkImage的UPS:

NetworkImage不是小部件,可以在Image中使用,因此您可以如上例所示获得长宽比:

Image(image: NetworkImage('url'), key: _key,);

或者您可以从侦听器获取宽度和高度并计算比率:

Image(image: NetworkImage('url'))
    .image
    .resolve(ImageConfiguration())
    .addListener((ImageInfo info, bool _) {
  int width = info.image.width;
  int height = info.image.height;
});