Как можно отобразить несколько изображений карт (52 карты) в «сетку»? Я пытаюсь создать четыре стопки в верхнем левом углу, четыре стопки в верхнем правом углу, восемь стопок, которые составляют основную таблицу для моей игры с использованием класса CImg
.
Отображение нескольких изображений с использованием класса CImg на C++
Ответы (2)
Обновленный ответ
Вы можете использовать append()
следующим образом:
#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()
на 'x'
, они будут добавляться рядом:
CImg<unsigned char> col;
col = c7.append(cjack,'x').append(c9,'x');
col.display();
Итак, теперь вы должны увидеть, как сделать сетку.
person
Mark Setchell
schedule
20.08.2017
Сам CImg имеет очень простую возможность отображать изображения в окнах. Все, что вы можете сделать, это отобразить несколько изображений, выровняв их по одной из осей с помощью структуры CImgDisplay. См. документацию по методу CImgDisplay::display(). Вы можете поиграть с 4 доступными осями и посмотреть, соответствует ли это вашим потребностям.
Если вам этого недостаточно, вам придется использовать какую-то внешнюю библиотеку для отображения.
person
KjMag
schedule
18.05.2017
CBitmap
иCImage
. Если этого недостаточно, вы можете интегрировать CxImage, стороннюю библиотеку изображений. Впервые слышу о CImg. - person sergiol   schedule 18.05.2017