This repository was archived by the owner on Feb 22, 2023. It is now read-only.
[camera] Limit camera preview size to take high quality picture with startImageStream #3843
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is related to the issue, flutter/flutter#46082.
This is an important issue to enable real-time image analysis and take a picture in a Flutter app.
In iOS, I tried to apply head pose estimation and taking a picture in a proper pose automatically, however, when I tried CameraController.startImageStream with ResolutionPreset.max for capture high quality picture, the app crashed unexpectedly. To resolve the problem, I should limit the resolution to ResolutionPreset.high, but in this case, generated pictures also have low resolution (which is 1280x720).
In Android, the preview resolution is limited to 1280x720 (resolutionPreset.high) in the function computeBestPreviewSize in CameraUtils.java. Like this, I can resolve the problem by limiting _previewSize in iOS. So, I propose this PR.
In the future, I recommend to set different resolution for preview and taking a picture by getting some arguments for flexibilities of the camera package.
Pre-launch Checklist
dart format
. See plugin_tool format)[shared_preferences]
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.