【发布时间】:2019-09-11 13:37:40
【问题描述】:
我需要从宽度和高度计算图像的纵横比
【问题讨论】:
我需要从宽度和高度计算图像的纵横比
【问题讨论】:
如果我理解正确,您需要小部件的大小。
为此,您必须使用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 的 UPD:
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;
});
【讨论】: