1

我想知道如何将 32x32 的数组映射到位图。以下数组表示位图。我知道数组的每一行代表位图的行。数组的第一行是位图的最后一行,依此类推,直到数组的最后一行是位图的第一行,但这是如何工作的?

GLubyte myInitial[] = {
    0xff, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
    0xff, 0x01, 0xff, 0x01, 0x00, 0x01, 0x01, 0x01,
    0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
    0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
    0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
    0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
    0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
    0xff, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,};
4

2 回答 2

2

那个点画图案的格式不是很好。它应该如下所示:

0xff, 0x01, 0x00, 0x01,  // #########               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0x00, 0x01, 0x00, 0x01,  //         #               #       
0xff, 0x01, 0xff, 0x01,  // #########       #########       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0x00, 0x01, 0x01, 0x01,  //         #       #       #       
0xff, 0x00, 0xFF, 0x01,  // ########         ########       
0x00, 0x00, 0x00, 0x00,  //
0x00, 0x00, 0x00, 0x00,  //
0x00, 0x00, 0x00, 0x00   //

这是一个 32x32 每像素 1 位的位图。如您所见,如果您要在黑色背景上以白色绘制一个 32x32 像素的屏幕四边形,它将呈现PE.

于 2010-02-23T04:41:29.067 回答
1

每个输入字节由 8 位组成。渲染时,图案会平铺在三角形表面上。只要图案有 1 位,就会绘制像素。

请参阅文档以及示例

于 2010-02-17T16:29:06.243 回答