由上面两个图片有----打开的图片的实际像素为200*256----生成的数组是102400----那么他们有什么关系呢!
200*256=51200个像素,而16位真彩色的每个像素为16位,也就是说每两个8位十六进制表示一像素点,于是有51200*2=102400。
其次是在程序中如何使用这个数组。
void LCD_ili9320_DrawPicture1(u16 StartX,u16 StartY,u16 EndX,u16 EndY)
{
u32 i; //这里需要注意,因为这里的图片的像素点最多240*320已经超过u16,故需要定义u32,不然会滚屏!
LCD_ili9320_SetWindows(StartX,StartY,EndX,EndY);
LCD_ili9320_SetCursor(StartX,StartY);
Clr_Cs;
LCD_ili9320_WriteIndex(0x0022);
Set_Rs;
for (i=0;i<(EndX*EndY);i++)
{
LCD_ili9320_WriteData((gImage_234[2*i]<<8)+(gImage_234[2*i+1])); //高位在前,且两个数据组合成一个16位数据表示像素值
Clr_nWr;Set_nWr;
}
Set_Cs;
}