将图像转换为 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<int> 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 颤振的主要内容,如果未能解决你的问题,请参考以下文章