有没有一种方法可以获取CachedNetworkImage的高度。我找到了this解决方案来获取常规网络映像的高度。有没有一种方法可以对缓存的图像实施此操作?
答案 0 :(得分:1)
只需对现有解决方案https://stackoverflow.com/a/57640169/5882307进行一些修改即可。
代码:
Future<Size> _calculateImageDimension() {
Completer<Size> completer = Completer();
Image image = new Image(image: CachedNetworkImageProvider("https://i.stack.imgur.com/lkd0a.png")); // I modified this line
image.image.resolve(ImageConfiguration()).addListener(
ImageStreamListener(
(ImageInfo image, bool synchronousCall) {
var myImage = image.image;
Size size = Size(myImage.width.toDouble(), myImage.height.toDouble());
completer.complete(size);
},
),
);
return completer.future;
}
用作:
_calculateImageDimension().then((size) => print("size = ${size}")); // 487.0,696.0
所有应归功于原始作者:https://stackoverflow.com/a/57640169/5882307