我到处寻找解决方案,但没有任何有用的东西。我正在使用SurfaceView和FrameLayout自定义应用内摄像头。我有一个调用“mCamera.takePicture()”函数的按钮。在回调中,我按原样保存图片;问题是图片被旋转和翻转,并以奇怪的比例缩放。
我知道这主要是因为我将相机参数的setPreviewSize设置为最佳大小,并使用mCamera.setDisplayOrientation()旋转它。预览看起来很漂亮。但当我拍了一张照片并保存下来时,它就会变得一团糟。
Camera.Parameters cp = mCamera.getParameters();
Size theSize = getOptimalPreviewSize(opt, w, h);
cp.setPreviewSize(theSize.width, theSize.height);
mCamera.setDisplayOrientation(90);
mCamera.setParameters(cp);
以上代码是在surfaceChanged函数中编写的。
如何使保存的图片显示在预览中?
相机预览中显示内容的屏幕截图。尺寸精细,旋转精细:
这是在拍完照片之后。看看显示器、CD集和插头。它被压扁了,监视器看起来像一个波浪: