OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4147|回复: 2

关于遍历触摸区域的方法讨论

[复制链接]

9

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-7-16
在线时间
51 小时
发表于 2017-7-28 14:21:27 | 显示全部楼层 |阅读模式
10金钱
假如我现在有一张小键盘图片贴在触摸屏上,如何高效地遍历这个区域来确定某个指定区域被触摸了呢?我现在的想法是先比对x轴,如果PID_INFO.x在某一个区域内,再比对y轴方向的。不知道有没有更好的方法来解决这种问题呢?先谢过~
部分代码如下:
[mw_shl_code=applescript,true]if (PID_INFO.x <= 50 && PID_INFO.x >= 0)
        {
                if (PID_INFO.y <= 50 && PID_INFO.y >= 0)
                {
                        //7
                        if (data == 0)        //小数点前数据为0
                        {
                                data_temp = data * 10 + 7;
                                data = data * 10 + 7;
                        }
                        else        //小数点前数据不为0,需要计算小数点前位数,后期再做小数点的事情
                        {
                                data_temp = data * 10 + 7;
                                data = data * 10 + 7;
                        }
                }
                if (PID_INFO.y <= 100 && PID_INFO.y >= 50)
                {
                        //4
                        if (data == 0)        //小数点前数据为0
                        {
                                data_temp = data * 10 + 4;
                                data = data * 10 + 4;
                        }
                        else        //小数点前数据不为0,需要计算小数点前位数,后期再做小数点的事情
                        {
                                data_temp = data * 10 + 4;
                                data = data * 10 + 4;
                        }
                }
                if (PID_INFO.y <= 150 && PID_INFO.y >= 100)
                {
                        //1
                        if (data == 0)        //小数点前数据为0
                        {
                                data_temp = data * 10 + 1;
                                data = data * 10 + 1;
                        }
                        else        //小数点前数据不为0,需要计算小数点前位数,后期再做小数点的事情
                        {
                                data_temp = data * 10 + 1;
                                data = data * 10 + 1;
                        }
                }
                if (PID_INFO.y <= 200 && PID_INFO.y >= 150)
                {
                        //.
                }
        }[/mw_shl_code]

小键盘图片

小键盘图片

坐标点

坐标点
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-7-16
在线时间
51 小时
 楼主| 发表于 2017-7-28 14:22:52 | 显示全部楼层
坐标点纯手工绘制,感觉还是可以的嘛
回复

使用道具 举报

16

主题

216

帖子

1

精华

高级会员

Rank: 4

积分
970
金钱
970
注册时间
2016-11-24
在线时间
156 小时
发表于 2017-7-28 15:06:41 | 显示全部楼层
貌似都是这样的方法啊,只能去比较XY坐标,关于输入法,可以参考原子哥探索者407的第五十四章 T9拼音输入法的实验例程,他的输入法识别得挺快的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-16 14:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表