lcd屏显示图片

图片需是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<image.size)

{

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};

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值