Image 颤振:如何从相机捕获全帧图像?

Image 颤振:如何从相机捕获全帧图像?,image,flutter,camera,size,Image,Flutter,Camera,Size,我需要在我的Flitter应用程序中从相机捕获全帧图像(长宽比为4x3)。 然而,我得到的唯一图像是16x9(有点裁剪)。 此外,我在文档和示例中找不到任何关于这一点的提及。 那么,如何在我的Flitter应用程序中从相机获取宽幅、全画幅4x3图像呢? 在我的主要项目中,我使用插件版本0.8.1 复制步骤 步骤可通过颤振相机示例再现 下载相机库示例() 为CameraController设置ResolutionPreset.max(而不是ResolutionPreset.medium) 从后置照

我需要在我的Flitter应用程序中从相机捕获全帧图像(长宽比为4x3)。 然而,我得到的唯一图像是16x9(有点裁剪)。 此外,我在文档和示例中找不到任何关于这一点的提及。 那么,如何在我的Flitter应用程序中从相机获取宽幅、全画幅4x3图像呢? 在我的主要项目中,我使用插件版本0.8.1

复制步骤 步骤可通过颤振相机示例再现

  • 下载相机库示例()
  • 为CameraController设置ResolutionPreset.max(而不是ResolutionPreset.medium)
  • 从后置照相机拍摄一张照片
  • 检查它的宽度和高度
  • 预期结果:

    全画幅图片,尺寸为 3024x4032,即3x4

    实际结果:

    图片大小为2160 × 3840,即9x16

    同样的行为可以在所有设备上重现,包括iOS和Android。 我在Pixel 3a和iPhone XS上进行了检查

    颤振医生-v
    [✓] 颤振(通道稳定,2.0.2,在macOS 11.1 20C69 darwin-x64上,现场en GB)
    •颤振版本2.0.2 at/Users/yurii.dvornyk/Documents/颤振
    •框架修订8962f6dc68(6周前),2021-03-11 13:22:20-0800
    •发动机版本5D8BF81B3
    •Dart版本2.12.1
    [✓] Android工具链-为Android设备开发(Android SDK版本30.0.2)
    •Android SDK位于/Users/yurii.dvornyk/Library/Android/SDK
    •平台android-30,构建工具30.0.2
    •ANDROID_HOME=/Users/yurii.dvornyk/Library/ANDROID/sdk
    •Java二进制地址:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/Java
    •Java版本OpenJDK运行时环境(build 1.8.0_242-release-1644-b3-6915495)
    •接受所有Android许可证。
    [✓] Xcode-为iOS和macOS开发
    •Xcode at/Applications/Xcode.app/Contents/Developer
    •Xcode 12.4,构建版本12D4e
    •CocoaPods版本1.10.1
    [✓] Chrome-为web开发
    •Chrome at/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    [✓] Android Studio(4.1版)
    •Android Studio位于/Applications/Android Studio.app/Contents
    •颤振插件可从以下位置安装:
    
    如果您在第280行看到iOS摄像头插件的来源:
    CameraPlugin.m
    ,您可以看到分辨率是手动写入的,而在第80行看到Android摄像头插件的来源:
    CameraUtils.java

    关于解决方案的iOs文档:

    关于解决方案的Android文档:

    iphone5s iPodtouch iPhone6/6S/SE/7/8/X 1920x1080(高清) Y Y 2560x1440(超高密度) N Y 3840x2160(4K) N Y 3840x1440 N Y 4096x2048 N N 3200x4800 N N 2280x5760 N N