在QT中绘制32x32平铺图像
我很想知道如何将一幅图像分割成32x32(或任何大小)的可选分幅,并在Qt中显示它们?例如,平铺贴图编辑器(屏幕右下角的面板)。我正在考虑尝试在Qt中创建一个2D级别的编辑器以获得乐趣,但我对Qt还相当陌生,还没有找到这个特定问题的答案。或者我只是不知道如何表达这个问题。将主图像添加到QPixmap中,然后对于要创建的每个磁贴,调用QPixmap的复制函数。这允许您指定要复制的区域,并返回带有该区域的新QPixmap 对于使用copy创建的每个QPixmap磁贴,使用此选项创建QGraphicsPixmapItem,然后将其添加到QGraphicsScene 所以,你可以这样做:-在QT中绘制32x32平铺图像,qt,map,tile,Qt,Map,Tile,我很想知道如何将一幅图像分割成32x32(或任何大小)的可选分幅,并在Qt中显示它们?例如,平铺贴图编辑器(屏幕右下角的面板)。我正在考虑尝试在Qt中创建一个2D级别的编辑器以获得乐趣,但我对Qt还相当陌生,还没有找到这个特定问题的答案。或者我只是不知道如何表达这个问题。将主图像添加到QPixmap中,然后对于要创建的每个磁贴,调用QPixmap的复制函数。这允许您指定要复制的区域,并返回带有该区域的新QPixmap 对于使用copy创建的每个QPixmap磁贴,使用此选项创建QGraphics
// assuming your source image is in your resources qrc file
QPixmap srcImage(":/images/srcImage.png");
//in a loop for x and a 2nd loop for y
// copy a section of the source image
QPixmap tileImg = srcImage.copy(x, y, w, h);
// create the tile
QGraphicsPixmapItem* pTile = new QGraphicsPixmapItem(tileImg);
// add the pTile to the scene.
使用QGraphicsPixmapItem将为您提供一个平铺对象,可以在场景中定位、选择和移动。Qt发行版中的示例或演示目录中都有一个平铺对象。谢谢Merlin069。我会用这个方法。