Image size taken from Flutter Image_Picker plugin is way too big

Adding small values for the maxHeight and maxWidth parameter in the ImagePicker plugin compresses the size. Here is an example:

var fileFromCamera = await ImagePicker.pickImage(source: ImageSource.camera, maxHeight: 480, maxWidth: 640);


The camera plugin has 3 default resolutions, and you are probably selecting or defaulting to a lower resolution (than the hardware's full resolution).

The image_picker plugin doesn't have these presets, but does have some optional arguments on the pickImage method (maxWidth and maxHeight). Experiment setting one or both of these to VGA type resolutions (640, 480, even 800, 600) to see if this reduces the size of the captured image.

There's also a package called image which would allow you to post-process the image. The sample on the main page does a resize, maintaining aspect ratio.


Now in the image_picker v. ^0.6.7+4 you also have the parameter 'imageQuality' and in the documentation you can see.. "The imageQuality argument modifies the quality of the image, ranging from 0-100 where 100 is the original/max quality."

So, the final code could be like:

ImagePicker().getImage(
      source:ImageSource.camera,
      maxHeight: 480,
      maxWidth: 640,
      imageQuality: 50
)