我想在相机上使用自动对焦,这可以在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减小字节数组的大小获得一些建议吗?谢谢。
camera
插件有3种默认分辨率,您可能选择或默认为较低的分辨率(比硬件的全分辨率)。
image_picker
插件没有这些预设,但在pickImage
方法(maxWidth
和maxHeight
)上有一些可选参数。尝试将这些中的一个或两个设置为VGA类型分辨率(640,480,甚至800,600),以查看是否减小了捕获图像的大小。
还有一个名为image
的软件包可以让你对图像进行后期处理。主页面上的示例执行调整大小,保持纵横比。
在maxHeight
插件中为maxWidth
和ImagePicker
参数添加小值会压缩大小。这是一个例子:
var fileFromCamera = await ImagePicker.pickImage(source: ImageSource.camera, maxHeight: 480, maxWidth: 640);