将相机的预览保存到位图

时间:2010-12-14 18:25:57

标签: android canvas surfaceview android-camera

我需要一点帮助让我的相机正常工作。

我要做的是让用户拍摄一张照片,然后将其用作另一个活动作为视图的背景。重要的是不要有任何偏斜,理想情况下,图像会以尽可能高的分辨率填充整个背景。

我一直想要让我的相机的输出图像正确定位并且与显示器的方面相同。所以我花了一些时间来考虑我需要做什么,而且我认为我根本不需要正常保存的图像。

我想到的是我需要一个表面视图来显示预览,以及一些文本和捕获按钮的叠加。当用户“拍照”时,它应该自动对焦,然后我需要捕获预览(在屏幕叠加下)到位图以用于其他活动。

*我应该为我的预览扩展SurfaceView并将其添加到包含叠加层的XML布局中吗?

*如何将SurfaceView的图像保存为位图?

感谢。

2 个答案:

答案 0 :(得分:0)

马特 一个基本问题,并原谅我的天真,通过Intent将内置摄像头用于Android会更容易吗?这是可行的,我以前做过。

答案 1 :(得分:0)

显然,没有很好的方法可以将预览帧的图像格式转换为jpeg,所以我最终通过浏览每个相机支持的分辨率并获得最接近的匹配来选择相机的大小。屏幕方面具有最高分辨率。

因为camera.setRotation方法似乎没有做任何事情,所以我只是用矩阵旋转图像90,然后将它保存到卡中,如果我处于纵向模式。