Как зациклить пиксели с помощью 2D-массива? - PullRequest
2 голосов
/ 15 марта 2011

Например:

loadPixels(); 
for (int i = 0; i < 240; i++) 
{
  for(int j =0; i < 240; j++)
  {
    color p = pixels[i][j];    // ERROR : The type of the expression must be an array 
                                  type but it resolved to int


    float cRed = 0.2989 * red(p);
    float cGreen = 0.5870 * green(p); 
    float cBlue = 0.1140 * blue(p);
    pixels[i][j] = color(cRed, cGreen, cBlue);
  }
}
updatePixels();

1 Ответ

1 голос
/ 15 марта 2011

Согласно документации пикселей , пиксели - это одномерный массив. Так что вам, вероятно, нужно сделать что-то вроде

int row = i;
int col = j;
int offset = row * width + col;
color p = pixels[offset];

Не уверен, как вы получаете ширину окна, но это то, что вам нужно сделать (при условии, что строки хранятся в порядке в массиве).

...