打印

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

[复制链接]
1718|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)





3.jpg (51.02 KB )

3.jpg

相关帖子

沙发
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

粉丝