混合来自OpenGL和
Android相机的视图时图像失真,以便在使用takepicture方法时获取两者的图像.我查了一下,发现相机图片设置为640X480,openGL视图和相机预览都设置为1280×720.
所以我将相机图片大小设置为1280×720,结果非常完美.但是我无法在代码中设置大小,因为每个Android设备都会有所不同,并且每个设备都必须从支持的大小列表中选择预览大小和图片大小的设置.
考虑到这里有三个变量,活动布局的屏幕尺寸,相机预览尺寸和图片尺寸,最好的方法是什么.
是最好使用match_parent或fitXY作为FrameLayout大小,只能使用两个变量,预览大小和图片大小?
请注意预览大小和图片大小中的几个宽度和高度组合是相同的.例如1280 x 720同时存在于预览和图片中,是否总是会出现两种尺寸的匹配?
List previewSizes = mCamera.getParameters().getSupportedPreviewSizes();
List imageSizes = mCamera.getParameters().getSupportedPictureSizes();
// layout in the activity that the cameraView will placed in
int layoutWidth = frameLayout.getWidth();
int layoutHeight = frameLayout.getHeight();
例如,在测量后的一个Android平板电脑中,这些是使用的3个变量的结果
作为测量结果的活动中布局viewGroup的大小
1280 x 736
支持的图片尺寸
320 x 240
640 x 480
1024 x 768
1280 x 720 << best size in my example to use
1280 x 768
1280 x 920
1600 x 1200
2048 x 1536
2560 x 1440
2560 x 1536
2560 x 1920 << native resolution of hardware camera
支持的预览尺寸
176 x 144
320 x 240
352 x 288
480 x 320
480 x 368
640 x 480
800 x 480
800 x 600
864 x 480
864 x 576
960 x 540
1280 x 720 << best size in my example to use
1280 x 768
1280 x 960