我不得不从base64读取我的图像源来flutter Image对象。
Image img = Image.memory(base64Decode(BASE64_STRING));
然后我想把图像作为容器背景。但是DecorationImage只接受ImageProvider。
如何将图像转换为ImageProvider?或者是否有其他方法将base64图像传送到ImageProvider?
Container(
decoration: BoxDecoration(
color: Colors.green,
image: DecorationImage(
image: img // <-- Expecting ImageProvider
)
)
4条答案
按热度按时间aiqt4smr1#
在您的
Image
上调用.image
以获取ImageProvider
。例如,假设:
在您的情况下:
wz1wpwve2#
请使用Uint8List和MemoryImage,参见代码片段
你可以复制粘贴运行下面的完整代码
代码片段
工作演示
全码
ejk8hzay3#
在这种情况下,您可以用途:
zsbz8rwp4#
尽管可以使用
myImageWidget.image
从Image
小部件获取ImageProvide
,但也可以直接从ImageProvider
开始:Image.memory()
为您提供了一个Image
小部件,但MemoryImage
为您提供了ImageProvider
。请在此处查看我对网络、资产和文件映像的完整回答。