• 5353阅读
  • 7回复

如何得到图形的轮廓 [复制链接]

上一主题 下一主题
离线sbtree
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-13
— 本帖被 XChinux 执行加亮操作(2009-01-06) —
想实现从QGraphicsItem继承来的一个子类,利用drawPath在paint函数里面画图,想得到这个图的最外部轮廓供shape函数返回,请问如何得到这个图形的轮廓?
因为画笔设置了宽度,想得到的轮廓是指线条的最外边缘
windows 7 + VC++2008 + Qt4.5.2
离线chai2010

只看该作者 1楼 发表于: 2008-11-13
引用楼主sbtree于2008-11-13 00:07发表的 如何得到图形的轮廓 :
想实现从QGraphicsItem继承来的一个子类,利用drawPath在paint函数里面画图,想得到这个图的最外部轮廓供shape函数返回,请问如何得到这个图形的轮廓?
因为画笔设置了宽度,想得到的轮廓是指线条的最外边缘


这个应该属于图像处理方面的问题,
你可以参考一下 OpenCV
离线sbtree
只看该作者 2楼 发表于: 2008-11-13
谢谢chai2010
OpenCV看上去不错,不过用在我这儿就有点杀鸡用牛刀的感觉了
我只是想在我的程序里实现这样一个简单功能,不做大量的图形处理,没必要带上一个这么大的包裹,如果能在qt自身的功能基础上实现是最好的
windows 7 + VC++2008 + Qt4.5.2
离线vrcats
只看该作者 3楼 发表于: 2008-11-14
把path里头的所有图形都放大一圈
离线sbtree
只看该作者 4楼 发表于: 2008-11-14
引用第3楼vrcats于2008-11-14 10:00发表的  :
把path里头的所有图形都放大一圈

能说得详细一点吗?
windows 7 + VC++2008 + Qt4.5.2
离线vrcats
只看该作者 5楼 发表于: 2008-11-14
我就那么一胡说,不一定能成。意思就是把path的节点都向外移动一点
离线sbtree
只看该作者 6楼 发表于: 2008-11-15
引用第5楼vrcats于2008-11-14 23:12发表的  :
我就那么一胡说,不一定能成。意思就是把path的节点都向外移动一点

“向外” 这个比较难,因为方向比较难以确定,还要考虑画笔的宽度,节点的连接类型等
windows 7 + VC++2008 + Qt4.5.2
离线sbtree
只看该作者 7楼 发表于: 2008-11-19
做过类似的,给点思路吧
windows 7 + VC++2008 + Qt4.5.2
快速回复
限100 字节
 
上一个 下一个