2011-08-01 2 views
1

다각형 크기를 조정해야합니다.QPolygon 또는 QPolygonF 크기 조정

Qt는 코드 다음 쓰기 : 포인트에 대한

QPolygonF qpf=QPolygonF(QPolygon(4,points)); 
QTransform trans; 
trans=trans.scale(1.5,1.5); 
QPolygonF qpf2=trans.map(qpf); 
path.addPolygon(qpf2); 

:

Qt는 코드 :

static const int points[8] = { 
    10, 80, 
    20, 10, 
    80, 30, 
    90, 70 
    }; 

는 --- 15,120-- 생성 - - 30,15-- --- 120,45-- --- 135,105--

따라서 너무 약간 움직입니다.

센터에서 확장 할 수있는 방법은 무엇입니까? 예를 들어, 모양의 원점은 크기 조정 후 동일한 점이어야합니다. 내장 된 방법이 있습니까? 아니면 모든 점을 다시 계산해야합니까? thanks

답변

2

현재 "세계"좌표계의 좌표와 관련하여 눈금을 적용하고 있습니다. 어떤 행동을하는지 설명합니다. 로컬 또는 "객체"좌표계에 적용하려고합니다.

원하는 것을 얻기 위해 다각형의 중심 (또는 말한대로 모양의 원점)이 좌표계의 원점과 정렬 (또는 "되기")하도록 다각형을 변환해야합니다. 그런 다음 원하는 척도를 적용한 다음 초기 번역의 역함수를 적용합니다.

+0

답장을 보내 주셔서 감사합니다. 질문 : QPolygonF.translate 메서드로 처리 할 수 ​​있다고 생각합니다. 직접 폴리곤의 원점/중심을 계산하는 것이 적절합니까? – merveotesi

+0

도움이 되니 기쁩니다. Btw, 네가 그렇게 새로 온 것 같아. 네가 몇 가지 질문을 한 것을 보았다. 당신은 이것을 모르고있을 지 모르지만, 당신은 [답변 수락 방법] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)을보고 싶을 것입니다. 그렇지 않으면 사람들은 어느 시점에서 불평을 시작합니다. 물론 정답 만 수락합니다. 당신이 원하지 않는 것을 받아들이는 것에 집착하지 마십시오. 희망이 도움이됩니다. ;) – Bart

+0

Qt가 이미 이러한 기능을 제공하는지 여부는 알 수 없지만 그래, 그렇지 않으면 직접해야한다. – Bart