【问题标题】:How to load Image widgets from ByteData in Flutter如何在 Flutter 中从 ByteData 加载图像小部件
【发布时间】:2019-08-23 04:31:29
【问题描述】:

multi_image_picker: 2.4.11 插件返回一个List<Asset>,每个Asset 都有一个imageData 属性,即ByteData

如何在 Flutter 中显示这些内容?

【问题讨论】:

    标签: flutter flutter-plugin flutter-image


    【解决方案1】:

    这是转换资产 -> 图像的函数

      Future<Image> assetThumbToImage(Asset asset) async {
        final ByteData byteData = await asset.getByteData();
    
        final Image image = Image.memory(byteData.buffer.asUint8List());
    
        return image;
      }
    

    【讨论】:

      【解决方案2】:

      您可以使用Image.memory 构造函数。

      List<Asset> assets = ...; // use multi_image_picker to get the assets
      
      return ListView.builder(
        padding: EdgeInsets.all(8.0),
        itemExtent: assets.length,
        itemBuilder: (BuildContext context, int index) {
          return Image.memory(assets[index].imageData.buffer.asUint8List());
        },
      );
      

      【讨论】:

      • multi_image_picker 4.6.0 版是怎么做到的?
      • AFAICT 4.6.0 仍然从 pickImages 返回 List&lt;Asset&gt;。它应该是一样的。
      • 如果我输入 assets[index].imageData.buffer.asUint8List()) 它会抛出一个错误对不起我是飞镖编程的新手你能指导我吗?
      • PageView.builder( itemCount: widget.images.length, itemBuilder: (BuildContext context, int index) { var asset = widget.images[index].imageData.buffer.asUint8List(); return Container (颜色:Theme.of(context).primaryColor,子:中心(子:Image.memory(asset),),);},),
      • 我就是这么写的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-15
      • 2020-10-02
      • 1970-01-01
      • 2022-11-21
      • 2018-11-18
      • 2021-09-12
      • 1970-01-01
      相关资源
      最近更新 更多