Я должен открыть с тем фактом, что я очень новичок в C++.Есть ли способ отображения матрицы символов в качестве изображения?
Я пытаюсь отобразить постоянно обновляющуюся матрицу символов 20x20. В настоящее время я показываю матрицу, использующую для циклов как cout (код ниже), но это невероятно мерцает - я ищу что-то более плавное.
Есть ли способ преобразовать эту матрицу символов в изображение и отобразить это?
Это мой первый вопрос здесь, поэтому я приношу свои извинения, если я сделал что-то не так!
код до сих пор:
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
using namespace std;
int main()
{
int randInt;
//Initialize matrix and location
int matrix[20][20];
int location[2] = {0,0};
for (int i=0; i<20; i++)
{
for (int j=0; j<20; j++)
{
matrix[i][j] = 1;
}
}
//move the X around
for (int i=0; i<100; i++)
{
cout << string(50, '\n');
//Change the X's location
randInt = rand() % 4;
switch (randInt)
{
case 0:
if(location[1] > 0)
location[1] = location[1]-1;
break;
case 1:
if(location[0] < 20)
location[0] = location[0]+1;
break;
case 2:
if(location[1] < 20)
location[1] = location[1]+1;
break;
case 3:
if(location[0] > 0)
location[0] = location[0]-1;
break;
default:
cout << "Switch statement problem";
}
//Display the matrix
for (int x=0; x<20; x++)
{
for (int y=0; y<20; y++)
{
if(x==location[0] && y==location[1])
cout << "X";
else
cout << matrix[x][y];
}
cout << endl;
}
Sleep(100);
}
system ("pause");
return 0;
}
если вы используете UNIX, смотрите в проклятиях – didierc
'систему ("пауза");' указывает Windows, и Visual Studio. Попробуйте Ctrl-F5 вместо вызова для паузы. – harper
Вы пытаетесь отобразить записи матрицы в изображении (т. Е. Вы видите фактические числа), или просто пытаетесь понять, что находится в матрице по цвету, кодирующему числа (т.е. 0 является чисто черным и 255 чисто белый)? Если это последняя, может оказаться полезной библиотека обработки изображений, такая как OpenCV. – lightalchemist