• 4993阅读
  • 4回复

在QImage上画了几条曲线,用鼠标点击是如何知道点击的是第几条? [复制链接]

上一主题 下一主题
离线cdutherbert
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-08
在QImage上画了几条曲线,用鼠标点击是如何知道点击的是第几条,我现在只要能得到第几条的方法。示意图如下:
离线fcymk2

只看该作者 1楼 发表于: 2009-05-08
根据鼠标点击的坐标算
离线sbtree
只看该作者 2楼 发表于: 2009-05-08
方法应该很多吧,最基本的方法是利用画线的方程或方程组,也就是x,y之间的关系,将鼠标点带入方程(组),满足方程的就在线上,否则不在。
另外的方法依赖于你画线的方法,如果是逐点描绘,就要记录下所有点到一个类似QList的容器,判断之中是否包含鼠标处的位置,如果通过draw*()函数画的,可以考虑把每个元素记录在一个QPainterPath,然后通过contains函数判断鼠标点击的位置是否被包含
可能还有别的方法,自己再想想吧
windows 7 + VC++2008 + Qt4.5.2
离线cdutherbert
只看该作者 3楼 发表于: 2009-05-08
上面共7条曲线,每条曲线的形状如条红色的所示,现在的关键问题是几条曲线有交点,在这些交点如何办?
离线fcymk2

只看该作者 4楼 发表于: 2009-05-11
交点靠你自已来决定处理么,要显示交点处的所有线条? 或是只显示一条..
快速回复
限100 字节
 
上一个 下一个