qt,在一个点上绘制像素图的中心,而不是像素图的左上角

时间:2012-08-16 17:39:22

标签: qt user-interface draw qgraphicsitem pixmap

就像标题所说,我正在将pixmap绘制到特定位置的场景中。 QT通过将像素图的左上角放在我指定的点来绘制像素图。但是,我希望像素图的中心放在这一点上。 (Pixmap是十字准线)。有谁知道如何做到这一点?提前致谢

2 个答案:

答案 0 :(得分:0)

将指定点的像素映射宽度的一半转换为左侧,将像素图的高度的一半转换为顶部,然后将pixmap绘制到该点。只是一些数学。 :)

答案 1 :(得分:0)

void QPainter::translate ( const QPointF & offset )

按给定的偏移量转换坐标系;即将给定的偏移量添加到点。

painter.translate(specific_location);
painter.drawPixmap(pixmap.rect().center() - QPoint(pixmap.width() / 2, pixmap.height() / 2), pixmap);