我绘制 OpenGL 3200x2000 大小的纹理四边形。OpenGLView 帧大小设置为 940x560。它按应有的方式绘制四边形。当我尝试将其保存为图像(使用 glReadPixels)并将 glReadPixels 区域从(0,0)设置为(3200,2000)时发包。它创建 3200x2000 像素数据,但是当我将其保存到文件时,我看到小图像部分(从左下角 940x560)而整个其他区域都是黑色的。那么如何读取屏幕外区域呢?我尝试使用 Framebuffer,但它非常复杂,在创建它时出错等等......还有其他解决方案吗?
情况可视化:
原始图像如下所示(3200x2000):
OpenGLView 看起来像这样(940x560):
保存的图像看起来像这样(3200x2000):