首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展QPolygon或QPolygonF

扩展QPolygon或QPolygonF
EN

Stack Overflow用户
提问于 2011-08-01 22:36:04
回答 1查看 3.4K关注 0票数 2

我需要缩放一个多边形。

编写以下代码

Qt代码:

代码语言:javascript
复制
QPolygonF qpf=QPolygonF(QPolygon(4,points));
QTransform trans;
trans=trans.scale(1.5,1.5);
QPolygonF qpf2=trans.map(qpf);
path.addPolygon(qpf2);

对于这些点:

Qt代码:

代码语言:javascript
复制
  static const int points[8] = {
    10, 80,
    20, 10,
    80, 30,
    90, 70
    };

它生成-15,120-30,15-120,45-135,105--

因此,它也会稍微移动一下。

有没有从中心开始缩放的方法?例如,缩放后形状的原点应该是相同的点。有没有一种内置的方法,或者我必须重新计算所有的点来缩放?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-01 22:47:28

当前,您正在相对于"World“坐标系中的坐标应用缩放。这就解释了你所看到的行为。您希望在局部或“对象”坐标系中应用它们。

为了达到你想要的效果,你必须平移多边形,使它的中心(或者你所说的形状的原点)与坐标系的原点对齐(或者更确切地说是“成为”原点)。然后应用所需的比例,然后应用初始平移的反转。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6900006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档