我需要访问原始表面缓冲区(应用程序表面,而不是设备帧缓冲区),我可以使用本机线程中的内存移动指令来绘制位。类似于Windows API中的SetDIBits或SetDIBitsToDevice,但是在Android设备上。
我想有几种方法可以做到这一点:通过OpenGL | ES,通过Java ...我想要一个简短的列表,列出不同的方法,我应该使用哪些功能(不需要用法示例)。
答案 0 :(得分:0)
在最低级别你有gralloc,但最近的Android版本推荐的界面是SurfaceTexture(http://developer.android.com/reference/android/graphics/SurfaceTexture.html)。
答案 1 :(得分:0)
一种方式(基于prabindh答案)是:
Canvas canvas = myTextureView.lockCanvas();
canvas.drawBitmap(int[] colors, int offset, int stride, int x, int y, int width, int height, boolean hasAlpha, Paint paint);
myTextureView.unlockCanvasAndPost(canvas);