У меня есть один вопрос для всех, касающийся масштабирования QGraphicsPolygonItem.QGraphicsPolygonItem шкала от верхнего левого
У меня есть полигон (внутри QGraphicsPolygonItem):
QPolygonF p1;
p1 << QPointF(-4, 32) << QPointF(-4, -32) << QPointF(4, -32) << QPointF(4, 32);
//or
//p1 << QPointF(0, 0) << QPointF(8, 0) << QPointF(8, 64) << QPointF(0, 64);
//whatever, they both doesn't work correctly.
Затем я пытаюсь масштабировать (setScale (2)) и Polygon начинают масштабироваться от центральной точки, а не сверху, слева. Я прочитал документацию о масштабировании Qt и исходных точках, но никакого эффекта. Для целей тестирования у меня есть правильный полигон для прямоугольника, который работает правильно.
Как масштабировать многоугольник сверху, влево?
Нет шкалы (многоугольник красный, прямоугольник черный): setScale(1) http://forum.sources.ru/uploads/post-10-1323844540-0.png
с масштабом x2: setScale(2) http://forum.sources.ru/uploads/post-10-1323844540-1.png
Спасибо за любую помощь
setTransformOriginPoint не решает эту проблему, потому что это изменение только начальной точки для преобразования (от центра до вершины, слева). Как вы можете видеть на рисунке 2 (масштаб x2) проблема заключается в перекрытии многоугольника после масштабирования. Чтобы предотвратить эту необходимость использования перевода (возможно). Мне нужно после масштабирования: 1. Масштабировать многоугольник, 2. масштабировать его положение X, Y (например, для черного прямоугольника на рисунке 2). – Dmitry