我正在使用 GLSulfaceView 开发一个静音相机应用程序,该应用程序从预览中捕获图片。
为了捕捉图片,我使用
GLES20.glReadPixels(0, 0, surfaceWidth, surfaceHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, ib);
此时,我的图片分辨率与手机分辨率相同。
为了获得更高分辨率的图片,我认为应用程序必须绘制比设备屏幕分辨率更高分辨率的预览,以适应设备屏幕并捕获预览。
如何绘制比设备屏幕分辨率更高分辨率的预览?
最佳答案
glReadPixels
无法缩放图像 - 您只能以 1:1 读取帧缓冲区的当前内容。
使用当前图像作为纹理,并将其渲染到更大的离屏帧缓冲区。但请注意,简单的线性过滤(这是 OpenGL ES 所能提供的全部功能)不会带来特别高质量的升级。
关于java - 如何绘制比设备分辨率更大的 GLSurfaceView 分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50490609/