如何将几张卡片(52张卡片)显示为“网格”?
我试图在左上角创建四个堆,在右上角创建四个堆,使用CImg
类构成我游戏主桌的八个堆。
答案 0 :(得分:0)
CImg本身具有在Windows中显示图像的基本功能。您所能做的就是显示多个图像,使用 CImgDisplay 结构沿着其中一个轴对齐它们。请参阅CImgDisplay::display() method的文档。您可以使用4个可用轴,看看是否符合您的需求。
如果这对您来说还不够,您必须使用一些外部库进行显示。
答案 1 :(得分:0)
更新了答案
您可以像这样使用#include "CImg.h"
using namespace cimg_library;
int main() {
// Load up all images into CImg structures
CImg<unsigned char> c7("7.png");
CImg<unsigned char> c9("9.png");
CImg<unsigned char> c4("4.png");
CImg<unsigned char> cjack("jack.png");
// Declare output and intermediate variables
CImg<unsigned char> row0,row1,grid;
// Append horizontally into a row, you could append many - you are not restricted to 2
row0 = c7.append(cjack,'x');
// Append horizontally into a row
row1 = c4.append(c9,'x');
// Append vertically into a column
grid = row0.append(row1,'y');
grid.display();
}
:
#include "CImg.h"
using namespace cimg_library;
int main() {
CImg<unsigned char> c7("7.png");
CImg<unsigned char> c9("9.png");
CImg<unsigned char> cjack("jack.png");
CImg<unsigned char> row;
row = c7.append(cjack,'y').append(c9,'y');
row.display();
}
原始答案
最简单的方法可能就是追加这样的图像:
'y'
给出了这个:
如果您将append()
的{{1}}轴参数更改为'x'
,它们将并排追加:
CImg<unsigned char> col;
col = c7.append(cjack,'x').append(c9,'x');
col.display();
所以,你应该能够看到如何制作一个网格。