中级会员
 
- 积分
- 490
- 金钱
- 490
- 注册时间
- 2019-5-31
- 在线时间
- 170 小时
|
1金钱
本帖最后由 zhuls12 于 2020-4-13 17:16 编辑
//******************************************************************
//函数名: LCD_Drawbmp16
//功能:显示一幅16位BMP图片
//输入参数:x,y :起点坐标
//uw:图片宽度, uh:图片高度//不知为甚,高度不是2倍值,就只显示一半的图片,下半部不见了
// *p :图片数组首址
//返回值:无
void LCD_Drawbmp16(u16 x,u16 y,u16 uw, u16 uh,const unsigned char *p) //指定位置显示批定SIZE的图片
{
int i;
unsigned char picH,picL;
LCD_SetWindows(x,y,x+uw-1,y+uh-1);//窗口设置
for(i=0;i<uw*uh;i+=2)//如果i++,则显示出错
{
picL=*(p+i); //数据低位在前
picH=*(p+i+1);
// LCD_DrawPoint_16Bit(picH<<8|picL);
// LCD_Fast_DrawPoint(cx,cy,picH<<8|picL);
LCD_WR_DATA(picH<<8|picL);
}
LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//恢复全屏窗口
}
调用时
LCD_Drawbmp16(155,5,50,160,gImage_power); //显示50*80的图片。
如果调用是高度不双倍,只能显示半高的图片。下半部不知被谁吃了。
大家帮我看看,用的代码是战舰的RTC实验这个代码。屏是9341的240*320,竖屏。
实验15 RTC实验-1.rar
(3.78 MB, 下载次数: 0)
|
|