编写一个从相机获取预览帧的应用程序对其进行一些转换,然后将其显示在屏幕上。
在
public void onPreviewFrame(byte[] data, Camera camera) {}
我将数据在另一个线程中的 JNI 中进行 yuv2rgb 和一些像素操作。然后我从 RGB int 数组创建位图并使用
canvas.drawBitmap(bmp, 0, 0, null);
我在 HTC Nexus One 上以 640x480 获得大约 15-20FPS,在三星 Galaxy S II 上获得 30+ FPS
我想知道是否可以通过使用 Android OpenGL ES 进行绘图来加快速度?我会遵循本指南: http: //obviam.net/index.php/texture-mapping-opengl-android-displaying-images-using-opengl-and-squares/