Как загрузить виджеты изображений из ByteData во Flutter
multi_image_picker: 2.4.11
плагин возвращает List<Asset>
каждый Asset
имея imageData
свойство, которое является ByteData
,
Как я могу показать это во Флаттере?
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());
},
);
Вот функция, которая преобразует Asset -> Image
Future<Image> assetThumbToImage(Asset asset) async {
final ByteData byteData = await asset.getByteData();
final Image image = Image.memory(byteData.buffer.asUint8List());
return image;
}