1

是否有可能以某种方式捕获 CameraPreview 正在显示的图片?由于未知原因,我的相机预览与以垂直模式拍摄的照片不同。为了完成我的应用程序,我需要预览中的精确图像作为拍摄的照片。我知道这个问题是由于将照片旋转了 90 度,但问题仍然存在 - 如何写入文件相机预览(不是拍摄的照片)。

4

1 回答 1

1

如果您使用的是 SurfaceView,则无法获取该图像数据。

但是,如果您将 SurfaceTexture 与Camera.setPreviewTexture一起使用,则可以读回 SurfaceTexture 正在向其中写入数据的 OpenGL 纹理,然后将其保存到磁盘。查找有关使用 glReadPixels 的 OpenGL 教程或其他问题。

如果您的问题只是拍摄照片的方向错误,请查看Camera.Parameters.setRotation,它可以让您更改拍摄照片的方向。

于 2013-08-22T00:05:28.633 回答