如何从Flutter中的ByteData加载图像小部件

时间:2019-04-01 23:04:46

标签: flutter flutter-plugin flutter-image

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

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

2 个答案:

答案 0 :(得分:1)

您可以使用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());
  },
);

答案 1 :(得分:0)

这是用于转换资源->图片

的功能
  Future<Image> assetThumbToImage(Asset asset) async {
    final ByteData byteData = await asset.getByteData();

    final Image image = Image.memory(byteData.buffer.asUint8List());

    return image;
  }