OpenGL引发了c#类型的'system.stackoverflowexception'异常

时间:2018-11-16 06:52:05

标签: c# opengl

public Color getPixelColor(OpenGL gl, int x, int y) 
{
    Color color = new Color(0, 0, 0);
    byte[] pixels = new byte[3];               
    gl.ReadPixels(x, y, 1, 1, OpenGL.GL_RGB, OpenGL.GL_FLOAT, pixels);
    int a = pixels[0], b = pixels[1], c = pixels[2];
    color.setColor(pixels[0], pixels[1], pixels[2]);              
}     

我使用gl.ReadPixels()来获取像素颜色,但是我遇到了exception of type 'system.stackoverflowexception' was thrown at line 'gl.ReadPixels(x, y, 1, 1, OpenGL.GL_RGB, OpenGL.GL_FLOAT, pixels);的问题。

可以帮我解决该错误吗?

1 个答案:

答案 0 :(得分:0)

您有一个包含3个字节的数组,但是您尝试读取3个(RGB)浮点数,即12个字节。将数组从字节类型更改为浮点类型。