image - 从 Flutter Image_Picker 插件获取的图像尺寸太大
问题描述
我想在相机上使用自动对焦,这在 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
,可让您对图像进行后处理。主页上的示例进行了调整大小,保持纵横比。
推荐阅读
- python - 使用 pytest 异常
- reactjs - 未捕获(承诺中)错误:网络错误:位置 3 的 JSON 中的意外令牌 <
- python - FFmpeg 从图像创建视频,从时间戳插入图像作为帧?
- acumatica - 如何在特定位置添加操作菜单
- javascript - 用 jquery 修改自定义 HTML-Attribute 不会影响 CSS
- javascript - 当我选中复选框时,只显示一个值而不是所有值
- javascript - 如何使用 window.open() 下载多个文件?
- android - 有人可以解释 Flutter 中的 Navigator 类和 Scaffold 类吗?
- python - telethon:如何检查消息传递状态?
- nlp - 语法网络中的专长的含义