在Qt图像开发过程中,经常会遇到这样的一些问题,需要对一些图像进行平时和旋转等。
所以经常会用到以下的几个函数:
QTransform & QTransform::rotate(qreal angle, Qt::Axis axis = Qt::ZAxis)
void QPainter::translate(const QPointF & offset)
void QPainterPath::moveTo(const QPointF & point)
都是用来惊醒平移和旋转的函数。
首先是 rotate(45); 表示旋转45度
translate:
在qt中默认的坐标系是以(0,0)点坐标中心点的,所以当你对某个点进行旋转的时候就需要用到translate函数了
translate(100 ,100);表示使用100,100作为中心点,然后在进行旋转的话,就是以100,100做为中心点进行旋转了。
下面就以书上的代码为例子:
QTransform transform;
transform.translate(50, 50); //把中心点移动到 50,50
translate.rotate(45); //旋转45度
translate.translate(-50 ,-50);//把中心点设置回默认的位置
painter.drawText(QPointF(50, 50 ),"draw text in 45 dgree");在50,50点的地方绘制45度的文字
然后就是使用这个的一些细节了。
painter.save();