исключение типа 'system.stackoverflowexception' было сгенерировано c # с OpenGL - PullRequest
0 голосов
/ 16 ноября 2018
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 голосов
/ 16 ноября 2018

У вас есть массив с 3 байтами, но вы пытаетесь прочитать 3 (RGB) числа с плавающей запятой, что составляет 12 байтов.Измените массив с типа byte на тип float.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...