图片需是bmp格式,软件设置如下:
设置最大宽度和高度后点旁边的右箭头,然后点重新载入,点保存。
void LED_Show_Image_logo(void)
{
int x=0,y=0;i=0; n=0;
LCD_setwindow(10,8,108+10,37+8);
while(n<7992)
{
i=gImage_logo[n];
i<<=8 ;
i=i|gImage_logo[n+1];
LCD_DrawColorPoint(x+10,y+5,i);
y++;
if(y==37){x++; if(x==108)x=0; y=0;}
n+=2;
}
}
函数中7992是生成图片数组的大小,108和37是图片大小,也就是软件中输出图像大小。
在屏上显示的起始坐标是 LCD_DrawColorPoint(x+10,y+5,i);这句中的10,5。
通用函数:
//***************************显示图片函数***************************
//函数定义: LCD_Show_Image
//入口参数:图片信息,x0:图片起始x坐标,y0:图片起始y坐标
//出口参数:无
//备 注:生成一个图片需建一个结构体,存图片数组的首地址,数组大小以及图片的长宽
//******************************************************************
void LCD_Show_Image(IMAGE image,uint8_t x0,uint8_t y0)
{
int x=0,y=0;i=0; n=0;
LCD_setwindow(x0,y0,x0+image.lenght,y0+image.width);
while(n { i=image.data[n]; i<<=8 ; i=i|image.data[n+1]; LCD_DrawColorPoint(x+x0,y+y0,i); y++; if(y==image.width){x++; if(x==image.lenght)x=0; y=0;} n+=2; } } typedef struct{ const unsigned char *data; uint16_t lenght; uint16_t width; uint32_t size; }IMAGE; 比如:用软件生成的图片数组是const unsigned char gImage_logo[7992] = {} 对应的结构体为: IMAGE Image_logo={gImage_logo,108,37,7992};