如何将像素转换为索引
How to convert pixels into indices
问题是我需要更改矩阵,我只能访问这些以像素为单位的位置 x
和 y
,如何转换 x
和 y
进入索引 ?
例如:
char *map[20][17] = {
"WWWWWWWWWWWWWWWW",
"WFFFFFFFFFFFFFFW",
"WFWWWWWFFWWWWWFW",
"WFFFFFFFFFFFFFFW",
"WFWWWWWFFWWWWWFW",
"WFFFFFFFFFFFFFFW",
"WFWWWWWWWWWWWWFW",
"WFFFFFFWWFFFFFFW",
"WFFFWFFWWFFWFFFW",
"WFWWWFFFFFFWWWFW",
"WFWFFFWWWWFFFWFW",
"WFFFWFFFFFFWFFFW",
"WFWWWFWFFWFWWWFW",
"WFFFWFWWWWFWFFFW",
"WFFFFFFFFFFFFFFW",
"WFFFWWWWWWWWFFFW",
"WFWFFFFFFFFFFWFW",
"WFWWWWWFFWWWWWFW",
"WFFFFFFFFFFFFFFW",
"WWWWWWWWWWWWWWWW"};
int x_pac = 240, y_pac = 360;
使用 x_pac
和 y_pac
访问 map
上的某个位置,在这种情况下,每个字符的高度 = 30 和宽度 = 30。
您只需将 x-y 个位置除以宽度和高度即可得到索引。 row = y_pac / height
。 col = x_pac / width
我想我可以想象你的输入。
所以您有一个包含位图 "image" 个字符集合的地图。
每个位图的大小 "image" 字符可以变化(例如 30x30)。
举个例子:你有 4x4 的字符映射,每个字符的尺寸为 6x6。
如果要访问特定字符中的特定像素,请使用此公式:
// matrix dimension
matrix_row = <row>
matrix_col = <col>
// bitmap dimension
char_row = <char_row>
char_col = <char_col>
num_pixels = char_row * char_col
// get specific "character" in grid
character_index = ((matrix_row - 1) * matrix_col) * num_pixels
// get specific "pixel" in character
pixel = character_index * ((char_row - 1) * char_col + pixel_offset)
问题是我需要更改矩阵,我只能访问这些以像素为单位的位置 x
和 y
,如何转换 x
和 y
进入索引 ?
例如:
char *map[20][17] = {
"WWWWWWWWWWWWWWWW",
"WFFFFFFFFFFFFFFW",
"WFWWWWWFFWWWWWFW",
"WFFFFFFFFFFFFFFW",
"WFWWWWWFFWWWWWFW",
"WFFFFFFFFFFFFFFW",
"WFWWWWWWWWWWWWFW",
"WFFFFFFWWFFFFFFW",
"WFFFWFFWWFFWFFFW",
"WFWWWFFFFFFWWWFW",
"WFWFFFWWWWFFFWFW",
"WFFFWFFFFFFWFFFW",
"WFWWWFWFFWFWWWFW",
"WFFFWFWWWWFWFFFW",
"WFFFFFFFFFFFFFFW",
"WFFFWWWWWWWWFFFW",
"WFWFFFFFFFFFFWFW",
"WFWWWWWFFWWWWWFW",
"WFFFFFFFFFFFFFFW",
"WWWWWWWWWWWWWWWW"};
int x_pac = 240, y_pac = 360;
使用 x_pac
和 y_pac
访问 map
上的某个位置,在这种情况下,每个字符的高度 = 30 和宽度 = 30。
您只需将 x-y 个位置除以宽度和高度即可得到索引。 row = y_pac / height
。 col = x_pac / width
我想我可以想象你的输入。
所以您有一个包含位图 "image" 个字符集合的地图。 每个位图的大小 "image" 字符可以变化(例如 30x30)。
举个例子:你有 4x4 的字符映射,每个字符的尺寸为 6x6。
如果要访问特定字符中的特定像素,请使用此公式:
// matrix dimension
matrix_row = <row>
matrix_col = <col>
// bitmap dimension
char_row = <char_row>
char_col = <char_col>
num_pixels = char_row * char_col
// get specific "character" in grid
character_index = ((matrix_row - 1) * matrix_col) * num_pixels
// get specific "pixel" in character
pixel = character_index * ((char_row - 1) * char_col + pixel_offset)