Android 上的 OpenGL - 将位图转换为纹理,并保存纹理

The*_*Don 2 java android opengl-es bitmap

我和我的团队目前正在开发一个 Android 应用程序来进行快速实时和非实时图像处理。

我们面临两个问题:

首先,我们想将 Bitmap 转换为 Texture 以使用 OpenGL 着色器处理图片,然后将其转换回 Bitmap。我们尝试了一些不成功的实现,例如在 SurfaceTexture 和 Renderer 中使用 GLUtils.texImage2D 函数。

我们的第二个问题是我们目前不知道如何在我们的实时相机活动中保存纹理。我们使用 OnFrameAvailableListener 来处理图像。但就目前而言,我们无法保留原始纹理。

我们希望有人可以为我们的问题提供答案。提前致谢 !

and*_*ras 6

第一的

位图到纹理

来源:

http://www.learnopengles.com/android-lesson-four-introducing-basic-texturing/

    // Bind to the texture in OpenGL
    GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0]);

    // Set filtering
    GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
    GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_NEAREST);

    // Load the bitmap into the bound texture.
    GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);

    // Recycle the bitmap, since its data has been loaded into OpenGL.
    bitmap.recycle();
Run Code Online (Sandbox Code Playgroud)

纹理到位图:

来源:

你如何在android中将opengl纹理转换回位图?

第二

我链接的 SO 链接中还有一个保存选项。