这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » STM32-PS2鼠标图案实现问题

共4条 1/1 1 跳转至

STM32-PS2鼠标图案实现问题

菜鸟
2013-02-17 00:36:54     打赏

我在搞PS2鼠标图案的移动实现:

1.要求鼠标移动的时候,不留下痕迹。

2.首先实现静态(不同区域底色不同)图片上画鼠标,然后再动态(视频)画面上移动鼠标。

静态底片上的鼠标实现过程:

1.读鼠标位置的底色像素;

2.画鼠标

3.移动鼠标

4.读鼠标位置的底色

5.恢复前面鼠标位置的底色,同时画出新鼠标

碰到问题:

     如果鼠标移动距离小于鼠标的尺寸,那么新位置读底色会读到前一个鼠标位置上的鼠标图案。

初步解决:

    读显存,恢复旧显存,但仍有拖尾,特别是x==0或y==0,且鼠标位移很小的时候,会留横线或竖线。

有人建议:

   用透明图片,但无“透明图片”的概念


所以,求高人指点。

有做过这方面的经验的高手,可+QQ948480400,指导一下。




关键词: STM32-PS2     鼠标     图案     实现     问题    

菜鸟
2013-02-18 22:32:17     打赏
2楼

原因是,如果鼠标移动距离小于鼠标图案在该方向上的尺寸,新鼠标位置读显存会把旧鼠标的图案读入新鼠标位置像素.............

 

如果鼠标位移大于鼠标在移动方向上的尺寸,就不会。

 

我现在要解决的是移动距离小的情况。

开机移动鼠标,起初不会,但在后面就会出现这种情况,

而且我让机子停一会儿去干别的,回来,就卡死了。开机又可以。


菜鸟
2013-02-23 22:14:43     打赏
3楼

其实,对于静态图片,我有一个思路,就是

鼠标读位置时,先把图标占据的方格的周边8个方格的数据都读起来,如果鼠标移位小于某个值,就一直利用这9个方格的数据恢复底色,一旦超过9个方格内的某个值,去掉距离远的那写块,并重新读取鼠标距离近的周边方块,重新组成9个方块的值。

 

对于动态图片,我觉得,如果帧变化之内,用静态图片的思路,如果换帧,必须换掉9个方格的全部数据。这样,应该可以实现鼠标。

 

 


菜鸟
2013-02-27 07:20:11     打赏
4楼

听说用带透明通道的的BMP图片可以解决这个问题,但是对“带透明通道的BMP图片”不知道是怎么回事,有谁对这个概念有理解的,+q探讨一下:948480400.+q群也可以:295443860


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]