- ベストアンサー
プログラミング言語について
これはあるプログラムの一部を抜き出したものです。 for(i=0;i<=99;i++) { for(j=0;j<=99;j++) { bmp[i][j][0]=255; bmp[i][j][1]=0; bmp[i][j][2]=0; } } これは、3原色を使っているらしいんですが、 bmp[i][j][0]=255の255の意味が分かりません。 .
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
bmpの宣言が欲しいですね。 unsigned char bmp[100][100][3]; とかなっているなら、配列の各要素は8ビット整数ですから、最大値が255です。 # 処理系によっては単にcharでunsigned charの意味になる場合もある 3原色を使った画像データだと、たとえばbmp[i][j][0]に赤の明るさ、bmp[i][j][1]に緑の明るさ、bmp[i][j][2]に青の明るさを割り振って、赤255、緑0、青0なら明るい赤になります。 全色255なら白ですね。
その他の回答 (1)
- salsberry
- ベストアンサー率69% (495/711)
回答No.1
そのプログラムでは3原色の各色を8ビット値で扱っているのでしょう。 8ビットの整数の値は0~255の範囲なので、3原色のうち一つが最大の値(255)、ほかの2色が最小の値(0)になるように値を代入しています。 ただし、1行目の文は推測なので、各色8ビットという前提ではない場合は意味が変わってきます。