• 5695阅读
  • 2回复

关于线条路径的问题 [复制链接]

上一主题 下一主题
离线rootlife
 

只看楼主 倒序阅读 楼主  发表于: 2010-08-29
— 本帖被 XChinux 执行加亮操作(2010-09-03) —
关键词: QT4界面路径
我找了一下QT的函数介绍, 没有解决这个问题.

我要创建 一个路径, 这个路径只包含N个相连的线条, 不能包含线条外的任何部分, 但是我创建路径以后发现路径是个包含端点交叉部分的封闭区域, 

如果调用了closeSubpath后, 路径就连线条也没有了, 这种状况在VC里面用Widen函数来拓展路径就行了, 这是因为笔宽需要用Widen来拓展实现, 但在QT里面似乎没有相应的函数. 

而如果不调用closeSubpath, 则路径始终是个含端点交叉部分的路径,  不知道有何解决方法.


离线rootlife

只看该作者 1楼 发表于: 2010-08-29


我要创建类似这个路径, 请教解决方案 
离线rootlife

只看该作者 2楼 发表于: 2010-08-29
K, 晕死, 写了一堆, 一下全没了,  一切从简.

提供一种解决方案, 供有此类问题的朋友参考:

我所以要创建这样一个路径的原因是我想让鼠标直接点击这个相连线条并移动, 要完成这个功能用路径或区域最好 , 但没有那只能自己处理:

方案如下:
1: 判断鼠标点与此相连线条的那一部分相关线段可能有关, ( 直接用线段的矩形范围来判即可) , 然后提取出相关的线段..
2: 根据相关线段来确定一个宽高, 创建一个对应位图,用黑色填充, 然后把相关线段用其它颜色绘制上去,, 将鼠标点映射到位图上形成一个位图点
3: 提取位图点, 获取其颜色, 判别是否点中线条,
注意: 绘制线条时一般比实际要再宽些, 因为点击在边缘我们也是允许移动的,  根据此思路你也可以使用多块位图, 一块位图多次绘制等解决方案,
各位靠自己的smart来发挥吧.. 效率绝对可以满足多数软件的要求,  还有QT里用QImage来获取图像的像素值, OK, 祝各位好运, 希望这次别发没了.
[ 此帖被rootlife在2010-09-09 23:07重新编辑 ]
快速回复
限100 字节
 
上一个 下一个