来自Camera Preview Android的单帧图像

时间:2011-02-23 16:32:47

标签: java android camera photo

我希望能够拍摄SurfaceView上显示的预览相机屏幕的快照。我知道它与onPreviewFrame()方法有关,这会返回YUV格式的字节数组,但我不知道如何自己调用onPreviewFrame()方法。

我已将它与Camera.setPreviewCallback()结合使用,但这是一个连续不断的生成图像的东西,我需要它在onClick()上执行一次,几乎不拍照而不制作预览窗口停止。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

对于遇到类似问题的其他人,我通过在相机对象上使用setOneShotPreviewCallback()方法解决了它,为我提供了byte[]的图片信息。用它来创建一个YUV,然后压缩成位图或任何你需要的东西。

答案 1 :(得分:1)

将预览图像捕获到画布中并对其进行锁定。然后,您可以轻松保存到BitMap 有关示例代码,请参阅此文章以获取完整说明  http://www.anddev.org/using_camerapreview_to_save_a_picture_on_disk-t226.html