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