画像のピクセルにアクセスするということは画像の配列のデータにアクセスするということである。
通常は横をx,横幅をwidth,縦をy,高さをheightで表す。
画像の番号付けを以下のようにすると、
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
縦位置をj,高さをh,横位置をi,横幅をwとすると(つまり、pix[j][i])
任意の地点の番号はpix[j*w+i]と表すことができる。
従って、画像データをすべて取りたいときには次のように書く。
for(int j = 0; j < h; j++){
for(int i = 0; i < w; i++){
pix[j][i] = pix[j*w+i];
}
}
pix[y][x]と宣言したときの対応関係。
[0][0] |
[0][1] |
[0][2] |
[0][3] |
[0][4] |
[0][5] |
[0][6] |
[0][7] |
[0][8] |
[0][9] |
[1][0] |
[1][1] |
[1][2] |
[1][3] |
[1][4] |
[1][5] |
[1][6] |
[1][7] |
[1][8] |
[1][9] |
[2][0] |
[2][1] |
[2][2] |
[2][3] |
[2][4] |
[2][5] |
[2][6] |
[2][7] |
[2][8] |
[2][9] |
[3][0] |
[3][1] |
[3][2] |
[3][3] |
[3][4] |
[3][5] |
[3][6] |
[3][7] |
[3][8] |
[3][9] |
[4][0] |
[4][1] |
[4][2] |
[4][3] |
[4][4] |
[4][5] |
[4][6] |
[4][7] |
[4][8] |
[4][9] |
最終更新:2011年04月02日 13:41