我正在定制 QuantumGIS,它使用 Qt 的 Qpainter 来绘制和绘制......
我正在尝试在画布上绘制一条多段线,该多段线作为消息队列的更新......绘制非常好......但在我作为更新获得的多段线或多边形对象中还包括一个角度场用于物体的旋转。问题是,当我尝试在 qpainter 使用painter.rotate() 方法绘制折线之前旋转线时,线旋转得很好,但绘制的线的位置会发生变化......并且它会在每次缩放和Qgis画布的平底锅..在设置painter.rotate()之前,我正在保存画家状态并在绘制之后再次恢复其状态,我认为这类似于OpenGL的push / popMatrix函数。Qpainter 的保存恢复功能是否类似于 opengl 的 push/popMatrix 功能?
这是一个代码片段:
p->save();
//p->rotate(45);
p->scale( 1.0 / rasterScaleFactor, 1.0 / rasterScaleFactor );
p->drawPolyline( pa );
p->restore();
帮助表示赞赏。谢谢。