【问题标题】:qt, draw center of pixmap at a point, instead of top-left-corner of pixmap at a pointqt,在某个点绘制像素图的中心,而不是在某个点绘制像素图的左上角
【发布时间】:2012-08-13 03:00:00
【问题描述】:

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

【问题讨论】:

    标签: qt user-interface draw qgraphicsitem pixmap


    【解决方案1】:

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

    【讨论】:

    • 但场景的坐标不是以像素为单位的。
    • 我认为是,但如果您提供负责绘制像素图的代码片段会简单得多 - 我们甚至不知道您使用的是 C++ 还是 QML。
    【解决方案2】:

    void QPainter::translate ( const QPointF & offset )

    将坐标系平移给定的偏移量;即给定的偏移量被添加到点。

    painter.translate(specific_location);
    painter.drawPixmap(-pixmap.rect().center(), pixmap);
    

    【讨论】:

      猜你喜欢
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      相关资源
      最近更新 更多