一尘不染

从Flutter Image_Picker插件获取的图像大小太大

flutter

我想在相机上使用自动对焦,该功能在image_picker插件上可用。但是,当我打电话时:

var bytes = new File(imagePath);
var enc = await bytes.readAsBytes();
print(enc.length);

我得到:5121126

当我想编码为json以发送到API服务器时,至少需要10秒:

var body = json.encode({
      'image' : enc
})

相比之下,使用相机插件,我的字节数组只有420685,小了10倍,但没有自动对焦功能。

我可以从image_picker获得一些有关如何减小字节数组大小的建议吗?谢谢。


阅读 1135

收藏
2020-08-13

共1个答案

一尘不染

camera插件具有3个默认分辨率,您可能选择或默认使用较低的分辨率(比硬件的完整分辨率低)。

image_picker插件没有这些预设,但是在pickImage方法(maxWidthmaxHeight)上有一些可选参数。请尝试将其中一个或两个设置为VGA类型的分辨率(640、480,甚至800、600),以查看这是否减小了捕获图像的尺寸。

还有一个名为的软件包image,可用于对图像进行后处理。主页上的示例进行调整大小,并保持宽高比。

2020-08-13