【问题标题】:Converting base64 to Image in Flutter Error在 Flutter 错误中将 base64 转换为图像
【发布时间】:2021-04-01 11:16:53
【问题描述】:

我将此图像作为 base64 字符串,然后我想将其转换为 BoxDecoration 中的图像,如下所示:

 Container(
                decoration: BoxDecoration(image: DecorationImage(image: Utility.imageFromBase64String(drink.image))),

这是将字符串解码为图像的函数。

功能

    class Utility {
  static Image imageFromBase64String(String base64String) {
    return Image.memory(
      base64Decode(base64String),
      fit: BoxFit.fill,
    );
  }}

但是,我在 BoxDecoration 中遇到错误:

The argument type 'Image' can't be assigned to the parameter type 'ImageProvider<Object>'

错误在这部分,我想我不能放入 Image 因为它要求 ImageProvider:

image: DecorationImage(image: Utility.imageFromBase64String(drink.image))

任何想法如何使它工作?谢谢!

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    来自DecorationImageimage 属性的类型是ImageProvider&lt;object&gt; 而不是Image

    像这样从imageFromBase64String返回MemoryImage

      static MemoryImage imageFromBase64String(String base64String) {
        return MemoryImage(
          base64Decode(base64String)
        );
      }
    

    然后这个。

    image: DecorationImage(
      image: Utility.imageFromBase64String(drink.image),
      fit: BoxFit.fill,
    )
    

    【讨论】:

    • 这是一个简单的解决方案,不知道为什么我如此热衷于保留图像。赞赏!
    猜你喜欢
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多