将图像转换为 Uint8List 颤振

Posted

技术标签:

【中文标题】将图像转换为 Uint8List 颤振【英文标题】:Convert Image to Uint8List Flutter 【发布时间】:2022-01-18 21:55:47 【问题描述】:

如何将可变Image类型转换为Uint8List?

当 App 像这样启动时,变量从共享首选项中获取其值:

String? img = prefs.getString('image');
Image imageOfBillHead = Image.memory(base64Decode(img));

我想将imageOfBillHead 转换为List<int>

编辑:

我可以这样做将 Image 转换为 Unit8List:

SharedPreferences prefs = await SharedPreferences.getInstance();
String? _imgString = prefs.getString('image');

List<int> imageData =  Base64Decoder().convert(_imgString);

但我已经在应用启动时获得了图像并将其保存在imageOfBillHead,所以我不想从共享偏好中再次获得它。

有没有办法将imageOfBillHead 转换为Unit8List 或将imageOfBillHead 转换为String 以使用:

List&lt;int&gt; imageData = Base64Decoder().convert(_imgString);

【问题讨论】:

base64Decode(img) 是你的Uint8List 不,您不能将Image 转回其原始状态。正如@pskink 所说,要么保留img,......要么从共享偏好中再次获取它(你为什么不想这样做?) 【参考方案1】:
         Uint8List _bytesImage;

         String _imgString = 'iVBORw0KGgoAAAANSUhEUg.....';

           _bytesImage = Base64Decoder().convert(_imgString);

         Image.memory(_bytesImage)

你可以使用这个功能

【讨论】:

您的代码将字符串转换为 Uint8List,有没有办法将图像直接转换为 Uint8List 或如何将图像类型转换为字符串? 你不能直接将小部件转换为 unit8list 我不认为你可以这样做

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

如何从网络图像中获取 Flutter Uint8List?

如何将相机捕获的图像转换为带有颤振的base64

如何将 List<Uint8list> 转换为 GIF?

将图像从缓冲区转换为前端显示(颤振)

在flutter中将内存图像(如Uint8list)保存为图像文件

带有 Uint8List 的图像为空 - Flutter