首页 > 解决方案 > 如何绘制比设备分辨率更大的分辨率 GLSurfaceView?

问题描述

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

为了拍摄照片,我使用

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

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

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

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

标签: javaandroidopengl-es

解决方案


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

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


推荐阅读