【问题标题】:How to determine width and height of a cached network image?如何确定缓存的网络图像的宽度和高度?
【发布时间】:2019-12-20 17:31:03
【问题描述】:

有没有办法获取 CachedNetworkImage 的高度。我找到了this 解决方案来获取常规网络图像的高度。有没有办法为缓存的图像实现这个?

【问题讨论】:

    标签: flutter


    【解决方案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

    【讨论】:

    • 你能解释一下你做了什么修改吗?看起来一模一样
    • 我添加的代码中已经注释掉了。小心阅读。我使用了缓存的网络图像提供程序而不是 Image.networl() 小部件
    • 感谢您的澄清。如果不滚动,您的内联代码注释不可见。
    猜你喜欢
    • 2017-11-23
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    相关资源
    最近更新 更多