flutter - Flutter 将图像转换为二进制数据
问题描述
如何将图像文件转换为二进制数据?我正在使用一个名为 image_picker 的库来从画廊或相机中挑选图像。我想将我选择的图像转换为二进制数据。
File image = await ImagePicker.pickImage(source: ImageSource.gallery)
(image as Image).toByteData // the method toByteData here is not pop up.
解决方案
toByteData()方法允许将其image
转换为字节数组。我们需要在 format 参数中传递格式,该参数指定返回字节的格式。它将返回以二进制数据或错误完成的未来。
final pngByteData = await image.toByteData(format: ImageByteFormat.png);
ImageByteFormat
enum 包含以下常量。
- PNG
- 原始Rgba
- 原始未修改
- 价值观
有关更多信息ImageByteFormat
,请查看此文档。
更新:如果你想转换image file
成字节。然后使用readAsByte()方法。
var bytes = await ImagePicker.pickImage(source: ImageSource.gallery).readAsBytes();
要将图像转换为文件,请查看此答案。
推荐阅读
- powershell - 如何在 Powershell 中使用 Stream Writer 向文件中添加行
- mount - `ipfs add` 在挂载的目录上,是否会下载完整的数据,即使它已经缓存在 ipfs 本地 repo 上?
- pandas - pandas 中的 grouby 给出了错误的按日期分组的总和
- angular - 是否可以使用 ng update 升级,但不能升级到最新的主要版本?
- sql - 从字符串中获取负数或正数
- vim - 在行首有条件地添加字符的命令
- javascript - D3 为什么以及何时解析力图中的链接
- excel - 如何在 Excel 中使用表引用作为变量
- javascript - How to simplify this boolean / tenary expression?
- google-apps-script - 从网络应用程序生成的 PDF 仅显示谷歌登录页面,我是否缺少授权?