求助:关于LCD取模问题疑问

[复制链接]
2091|3
 楼主| leshak 发表于 2012-12-11 09:13 | 显示全部楼层 |阅读模式
本帖最后由 leshak 于 2012-12-11 09:30 编辑

   LCD是ILI9320 240宽X320高  16万色的LCD,要显示一副16万的BMP图像,用下面这个函数来实现void ili9320_DrawPicture
   自己实现了图片全屏(240X320)显示,即 ili9320_DrawPicture(0,0,240,320,u16 *pic).
   现在在屏幕上区域显示上出了问题,老是乱码。如在起始坐标为30,80     终点坐标为180  120这个区域内显示一个图片。我怀疑自己在取模上出了问题,所以请教下大家。
取模步骤:
1.  小画夹加入一个图片,查看属性,像素为宽559  高371,因为是在起点X  30   Y  80 终点   X180  Y120这个区域内显示图片,所以要图片拉伸的比例为(180-30)/559和(120-80)/40.
2.拉伸完后保存图片,然后对图片取模,数据放入*pic,程序烧录后显示不是乱码就是显示不全


不知道图片拉伸的算法    (180-30)/559和(120-80)/40. 这个式子是不是出了问题
还望高手指点下,谢谢。

附件屏幕底色是白色,因为在LCD初始化的时候将LCD全屏幕的底色都写成了白色。




* 名    称:void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic)
* 功    能:在指定座标范围显示一副图片
* 入口参数:StartX     行起始座标
*           StartY     列起始座标
*           EndX       行结束座标
*           EndY       列结束座标
            pic        图片头指针
* 出口参数:无
* 说    明:图片取模格式为水平扫描,16位颜色模式
* 调用方法:ili9320_DrawPicture(0,0,100,100,(u16*)demo);
****************************************************************************/
void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 Xend,u16 Yend,u8 *pic)





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| leshak 发表于 2012-12-12 08:29 | 显示全部楼层
自己顶一下。。。。。
delin17 发表于 2012-12-12 11:44 | 显示全部楼层

本帖最后由 delin17 于 2012-12-12 11:46 编辑

其实这个问题很好解决,你可以先用VC MFC做个模拟显示的,然后把你的数据显示一下,就可以看出来错在那里了。初步感觉你的图片是行列的数据没算对。请检查一下
 楼主| leshak 发表于 2012-12-13 08:42 | 显示全部楼层
好的,VC MFC还没用过,先去搜索点资料
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

522

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部