Я настраиваю QuantumGIS, который использует Qt Qpainter для рисования и рисования ...
Я пытаюсь нарисовать ломаную линию на холсте, который приходит в виде обновления через очереди сообщений ... рисование очень хорошо ... но в полилинии или объектах многоугольника, которые я получаю в качестве обновления, также есть поле угла это должно быть использовано для вращения объекта.
Проблема заключается в том, что когда я пытаюсь повернуть линию непосредственно перед тем, как ломаная нарисована qpainter с помощью метода painter.rotate (), линия поворачивается нормально, но положение нарисованной линии меняется ... и она меняется при каждом увеличении сковорода холста Qgis ..
Перед установкой painter.rotate () я сохраняю состояние рисовальщика и после рисования снова восстанавливаю его состояние, которое, по моему мнению, аналогично функциям push / popMatrix в OpenGL.
Работают ли функции восстановления в Qpainter аналогично функциям push / popMatrix в opengl ??
Вот фрагмент кода:
p->save();
//p->rotate(45);
p->scale( 1.0 / rasterScaleFactor, 1.0 / rasterScaleFactor );
p->drawPolyline( pa );
p->restore();
Помощь приветствуется.
Спасибо.