Camera
所以我用,SurfaceView
和设置了这个相机预览SurfaceHolder
。我还有一个ImageView
我将放置相机图像的修改版本的地方,我希望它能够更新,比如说每秒一次。
当我从“res”加载图像时,所有代码都准备好了并且已经可以工作,但是我很难从相机中读取图像数据。
我已经尝试过以下操作:
创建一个
intent
forMediaStore.ACTION_IMAGE_CAPTURE
并开始onActivityResult
获取一个小缩略图(实际上对我来说已经足够了)(Bitmap)data.getExtras().get("data")
问题是这会打开相机应用程序,您需要“手动”拍照。创建
Camera.PreviewCallback
,获取YuvImage
,并使用 将其转换为图像YuvImage.compressToJpeg(...)
。
这里的问题是,无论何时何地放置Camera.setPreviewCallbackWithBuffer(PreviewCallback)
.PreviewHolder
尝试通过使用锁定到画布lockCanvas()
并尝试将其转换为位图来直接获取数据
显然不起作用。
编辑: 完成这项工作的最佳方法是什么?我的意思是二维码阅读器必须连续读取相机中的图像数据,它们是如何工作的?