在QT中创建前景背景数组

时间:2012-02-16 09:01:29

标签: c++ arrays image qt

我在创建一个数组时遇到问题,该数组可以提供有关彼此绘制的2个图像的信息。

我所拥有的是作为背景(海洋)的1幅图像和作为前景(风景)的1幅图像,景观不像海洋那么大,所以当相互绘制时,您可以看到大海和景观它

现在我想创建一个数组,如果它是大海则设置为0,如果是风景则设置为1。所以我可以使用 这个数组稍后会做一些碰撞检测。问题是我没有找到如何从中生成一个bytearray。 关闭长度*图像的宽度。

我在QImage中有两个图像,但我没有找到如何使用for循环或其他东西创建数组。

使用QPainter功能将两个图像相互绘制。

有人可以帮助我吗?

亲切的问候,

2 个答案:

答案 0 :(得分:0)

如果您使用QPainter类将两个图像相互绘制,则会丢失有关它们的任何信息,它们现在只是 图纸。您必须创建方法和对象来实现您的学校项目。我知道您不能使用QGraphicsView,但您需要的是 qgraphicsview如何工作,这样您就可以获得有关如何实现自己的碰撞系统的一些信息。

1 - 您需要将绘图的Retangle(所有这些)保存在某个地方。一个QList会做。

2 - 你也需要你的绘画位置,所以你知道它们在哪里,除了重新校正。

使用位置和矩形,您需要做的就是检查一个矩形是否与另一个矩形相交。

答案 1 :(得分:0)

我用2 for for循环并用黑色和蓝色来确定前景和背景。所以我只能使用黑色和蓝色。