QGraphicsScene背景刷偏移?

时间:2015-01-16 20:57:54

标签: c++ qt qgraphicsscene

我正在创建一个QGraphicsView,它显示了一个QGraphicsScene。

我将场景的背景设置为QImage位图,其中包含:

scene()->setBackgroundBrush(myQImage);

我希望这张图片相对于偏移量进行平铺,就像我可以做的那样:

painter.drawTiledPixmap(this->rect(), QPixmap::fromImage(myQImage), bgOffset);

有没有办法做到这一点,或者我应该忽略QGraphicsScene的背景画笔能力,并与画家一起做?然而,这使我无法缓存可能是大背景的内容,并且会使滚动条陷入困境,所以我不愿意。

[编辑,背景:我有一个基于精灵的角色设计师(或头像设计师)。我希望人们能够显示他们选择的平铺背景,但我无法限制背景的尺寸,并且背景的中心平铺必须显示在相对于他们正在设计的精灵的用户定义的偏移处。这个背景可以是任何东西,从简单的网格背景(用于像素对齐),到游戏地图的截图(角色必须可以对齐以站在他们想要的地图方块的中心),到另一个角色的图片#s他们的化身可以像素完美的方式进行比较或对齐,等等...]

1 个答案:

答案 0 :(得分:1)

您可以编辑图像本身以模拟背景偏移。您需要求助行和列,以便原点位于(0,0)。您可以通过将图像切割成4个部分并以不同的顺序将它们连接在一起来实现。