Flutter 颤振-将图像转换为二进制数据

Flutter 颤振-将图像转换为二进制数据,flutter,Flutter,如何将图像文件转换为二进制数据? 我正在使用库调用图像选择器从画廊或相机中拾取图像。 我想把我拾取的图像转换成二进制数据 File image = await ImagePicker.pickImage(source: ImageSource.gallery) (image as Image).toByteData // the method toByteData here is not pop up. 方法允许将图像转换为字节数组。我们需要在format参数中传递格式,该参数指定返回字节的格

如何将图像文件转换为二进制数据? 我正在使用库调用图像选择器从画廊或相机中拾取图像。 我想把我拾取的图像转换成二进制数据

File image = await ImagePicker.pickImage(source: ImageSource.gallery)
(image as Image).toByteData // the method toByteData here is not pop up.
方法允许将
图像
转换为字节数组。我们需要在format参数中传递格式,该参数指定返回字节的格式。它将返回以二进制数据或错误完成的未来

final pngByteData = await image.toByteData(format: ImageByteFormat.png);
ImageByteFormat
enum包含以下常量

  • 巴布亚新几内亚
  • 罗尔格巴
  • 未经修改的
  • 价值观
有关
ImageByteFormat
的更多信息,请查看此文档

更新:如果要将
图像文件
转换为字节。然后使用方法

要将图像转换为文件,请查看此项。

只需使用此项即可


您可能想考虑使用<代码> toByTeDATAs/Cuth>方法。 它将图像对象转换为字节数组。 它返回一个future,如果编码失败,它将返回二进制图像数据或错误。 以下是本网站的实施情况:

Future toByteData({ImageByteFormat=ImageByteFormat.rawRgba}){
返回未来化((\u回调){
返回数据(format.index,(Uint8List编码){
回调(编码的?.buffer?.asByteData());
});
});
}
format参数指定返回字节的编码格式。
希望这有帮助

我试图使用your方法,但toByteData没有弹出。您的图像是图像类型还是文件类型?如果是文件类型,则使用readAsBytes方法;如果是图像类型,则使用toByteData方法。请检查我的更新答案。请使用readAsBytes()方法,而不将类型转换为图像。它将尝试使用这个var bytes=wait ImagePicker.pickImage(源代码:ImageSource.gallery.readAsBytes();非常感谢,我去看看。
var bytes = await ImagePicker.pickImage(source: ImageSource.gallery).readAsBytes();
var bytes = await File('filename').readAsBytes();
Future<ByteData> toByteData({ImageByteFormat format = ImageByteFormat.rawRgba}) {
  return _futurize((_Callback<ByteData> callback) {
    return _toByteData(format.index, (Uint8List encoded) {
      callback(encoded?.buffer?.asByteData());
    });
  });
}