簡體   English   中英

如何將像素轉換為索引

[英]How to convert pixels into indices

問題是我需要更改矩陣,並且只能使用像素xy這些位置,如何將xy轉換為指數?

例如:

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_pacy_pac訪問map上的某些位置,在這種情況下,每個字符的高度為30,寬度為30。

您只需將xy位置除以寬度和高度即可獲得索引。 row = y_pac / height col = x_pac / width

我想我可以可視化您的輸入。

因此,您有一個包含位圖“圖像”字符集合的映射。 每個位圖“圖像”字符的大小可以改變(例如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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM