• 14523阅读
  • 11回复

在QGraphicsScene中如何对选中区域的QGraphicsItem进行局部放大? [复制链接]

上一主题 下一主题
离线xlttap
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-18
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
放大前,选中区域为红色部分:
放大后:
我简单我快乐
离线xlttap

只看该作者 1楼 发表于: 2010-03-19
没有人用QGraphicsScene/QGraphicsItem/QGraphicsView做过这样的效果吗?我上面的效果是用QPainter做的,现在想用场景/视图来实现。
我简单我快乐
离线hasitate

只看该作者 2楼 发表于: 2010-03-19
每个item设个scale,选中时改变scale的值,作图根据scale来定大小,这样不知道行不行。
离线xlttap

只看该作者 3楼 发表于: 2010-03-22
引用第2楼hasitate于2010-03-19 14:42发表的  :
每个item设个scale,选中时改变scale的值,作图根据scale来定大小,这样不知道行不行。

这样肯定不行。有更好的思路吗?
我简单我快乐
离线carl_xwz
只看该作者 4楼 发表于: 2010-03-22
这个是矢量放大,中心坐标定好,然后矢量值X2,再重绘就可以放大了!
离线carl_xwz
只看该作者 5楼 发表于: 2010-03-22
你也在做地图吗?我也在做,不过可能比你做的早点!呵呵!
离线robertkun

只看该作者 6楼 发表于: 2010-03-22
做过类似的东东,不过楼主说的局部放大好像很难让小菜领悟~
是不是scene里面的图元放大,而外面的标尺保持不变呢?
                                              简单的生活使人快乐!
离线xlttap

只看该作者 7楼 发表于: 2010-03-22
引用第6楼robertkun于2010-03-22 11:04发表的  :
做过类似的东东,不过楼主说的局部放大好像很难让小菜领悟~
是不是scene里面的图元放大,而外面的标尺保持不变呢?

外面的标尺也要变化,也就是要保持纵横比不变。通过上面的两个图可以看到放大后标尺是变了的。
我简单我快乐
离线xlttap

只看该作者 8楼 发表于: 2010-03-24
我自己置顶
我简单我快乐
离线microyee
只看该作者 9楼 发表于: 2010-03-25
我帮顶。。。
只看该作者 10楼 发表于: 2010-03-25
我用的是QImage通过scaled()函数,将图片放大或缩小到想要的尺寸后在传给QGraphicsItem的,让他在QGraphicsScene中显示的
离线xlttap

只看该作者 11楼 发表于: 2010-03-26
引用第10楼非洲小白脸于2010-03-25 10:53发表的  :
我用的是QImage通过scaled()函数,将图片放大或缩小到想要的尺寸后在传给QGraphicsItem的,让他在QGraphicsScene中显示的

QImage的scaled()函数是hardcopy(硬件放大),会出现马赛克现象,我这里做的是软件放大,在放大的过程中我用了插值算法。但是用QGraphicsScene/QGraphicsView时,我放大都不会了。用了QGraphicsScene中的render()方法也没有实现。
我简单我快乐
快速回复
限100 字节
 
上一个 下一个