我想使用OpenGL ES进行Android相机预览并保存捕获的图像。
我喜欢在Android相机中使用OpenGL ES来为Android相机带来一些效果。那么请有人告诉我该怎么做?
答案 0 :(得分:7)
您需要实现android.hardware.Camera.PreviewCallback
接口并覆盖方法
public synchronized void onPreviewFrame(byte[] data, Camera camera) {
myOpenGLObject.receiveFrames(data);
}
读取从相机回调接收的帧。 我建议你看一下andar来源http://code.google.com/p/andar/。尤其是班级CameraPreviewHandler.java。
我希望这能回答你的问题。
答案 1 :(得分:1)
更快的方法是避免onPreviewFrame
回调并使用SurfaceTexture
作为相机渲染预览的纹理。
看一下grafika里面的例子,它或多或少都是这样的:https://github.com/google/grafika/blob/master/src/com/android/grafika/CameraCaptureActivity.java