颤动中的图像转换

Posted

技术标签:

【中文标题】颤动中的图像转换【英文标题】:Image conversion in flutter 【发布时间】:2020-03-18 08:53:18 【问题描述】:

我正在尝试选择资产图像 -> base64image 字符串 -> 显示它 但它没有按预期工作。我的代码如下:

ImagePickPart:

ByteData bytes = await rootBundle.load(_images[_ran.nextInt(_images.length)]);
String asBase64 = base64Encode((bytes.buffer.asUint8List()).cast<int>());
Site site= Site();
site.image = asBase64;

ShowImage 部分:

 @override
  Widget build(BuildContext context) 
    return Container(
      margin: EdgeInsets.all(8.0),
        decoration: BoxDecoration(
          boxShadow: [BoxShadow(
            color: Colors.grey[500],
            offset:Offset(0.0,0.0),
            blurRadius: 5.0,
            spreadRadius: 0.0,
          )],
          borderRadius: BorderRadius.only(topLeft:Radius.circular(00.0),topRight:Radius.elliptical(75.0, 75.0)),
          image : DecorationImage(
            image: site.image!=null? Image.memory(base64Decode(site.image)):AssetImage('images/1024LowPoly.png'),
            fit: BoxFit.cover
          ),
        ),...........

我收到以下错误:

type 'Image' is not a subtype of type 'ImageProvider<dynamic>'

【问题讨论】:

【参考方案1】:

好的,找到了答案。

我应该使用 MemoryImage 而不是 Image.memory!

【讨论】:

以上是关于颤动中的图像转换的主要内容,如果未能解决你的问题,请参考以下文章

小部件中的图像 [颤动]

如何在颤动中更改容器小部件中的背景图像

尝试使用个人资料图像创建导航抽屉作为颤动中的图标

如何确保我在颤动中的图像 url 不会显示在屏幕上而不是图像上?

如何在飞镖颤动中转换图像 dpi(每英寸点数)?

如何将地图数据转换为颤动中的对象列表?