使用如下测试程序(其实有画矩形的,先不管了),在屏幕四个角上分别画6*6的矩形。
void test(void)
{
//左上角画一个6*6的红色小矩形
RA8875_DrawLine(0, 0, 5, 0, COLOR_RED);
RA8875_DrawLine(0, 1, 5, 1, COLOR_RED);
RA8875_DrawLine(0, 2, 5, 2, COLOR_RED);
RA8875_DrawLine(0, 3, 5, 3, COLOR_RED);
RA8875_DrawLine(0, 4, 5, 4, COLOR_RED);
RA8875_DrawLine(0, 5, 5, 5, COLOR_RED);
//右上角画一个6*6的绿色小矩形
RA8875_DrawLine(474, 0, 479, 0, COLOR_GREEN);
RA8875_DrawLine(474, 1, 479, 1, COLOR_GREEN);
RA8875_DrawLine(474, 2, 479, 2, COLOR_GREEN);
RA8875_DrawLine(474, 3, 479, 3, COLOR_GREEN);
RA8875_DrawLine(474, 4, 479, 4, COLOR_GREEN);
RA8875_DrawLine(474, 5, 479, 5, COLOR_GREEN);
//左下角画一个6*6的蓝色小矩形
RA8875_DrawLine(0, 266, 5, 266, COLOR_BLUE);
RA8875_DrawLine(0, 267, 5, 267, COLOR_BLUE);
RA8875_DrawLine(0, 268, 5, 268, COLOR_BLUE);
RA8875_DrawLine(0, 269, 5, 269, COLOR_BLUE);
RA8875_DrawLine(0, 270, 5, 270, COLOR_BLUE);
RA8875_DrawLine(0, 271, 5, 271, COLOR_BLUE);
//右下角画一个6*6的黑色小矩形
RA8875_DrawLine(474, 266, 479, 266, COLOR_BLACK);
RA8875_DrawLine(474, 267, 479, 267, COLOR_BLACK);
RA8875_DrawLine(474, 268, 479, 268, COLOR_BLACK);
RA8875_DrawLine(474, 269, 479, 269, COLOR_BLACK);
RA8875_DrawLine(474, 270, 479, 270, COLOR_BLACK);
RA8875_DrawLine(474, 271, 479, 271, COLOR_BLACK);
}
在开发板的屏幕上是正常的,接着回读象素点数,如下
void rgb_read(void)
{
uint16_t x, y;
for (y = 271; y >= 0; y--) // 0-271, 271先是由于BMP图像数据是从下往上的
{
for (x = 0; x <= 479; x++) //0-479
{
缓冲 = RA8875_GetPixel(x, y);
}
}
}
屏幕显示效果如下
回读后显示数据如下(存为BMP):左边第一列数据不对,为什么呢?
|