Image_pickerプラグインで利用可能なカメラでオートフォーカスを使用したいのですが。しかし、私が電話すると:
var bytes = new File(imagePath);
var enc = await bytes.readAsBytes();
print(enc.length);
私が得た:5121126
aPIサーバーに送信するためにjsonにエンコードする場合、少なくとも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);