如何绘制比设备分辨率更大的分辨率GLSurfaceView?

时间:2018-05-23 14:11:23

标签: java android opengl-es

我正在使用GLSulfaceView开发一个静音相机应用程序,该应用程序从预览中捕获图片。

为了拍摄照片,我使用

GLES20.glReadPixels(0, 0, surfaceWidth, surfaceHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, ib);

此时,我的照片分辨率与手机的分辨率相同。

为了获得更高分辨率的图片,我认为应用程序必须绘制比适合设备屏幕的设备屏幕分辨率更高的分辨率预览并捕获预览。

如何绘制比设备屏幕分辨率更高的分辨率预览?

1 个答案:

答案 0 :(得分:1)

glReadPixels无法缩放图像 - 您只需1:1读取帧缓冲区的当前内容。

将当前图像用作纹理,并将其渲染为更大的屏幕外帧缓冲区。但请注意,简单的线性过滤(所有OpenGL ES都可以为您提供)并不是特别高质量的升级。