Отображение 2d векторного / 2d массива в простой рисунок в C ++ Qt

Я должен сравнить два 2d векторов (vect_2d_a а также vect_2d_b) и в результате я построю 2d vector / 2d array (vect_compare_result) содержащий разницу в стоимости vect_2d_a а также vect_2d_b,

В основном я могу просто напечатать vect_compare_result и просмотреть его, но я хотел бы видеть его в виде фигуры с простыми полями, указывающими значение разницы в пикселях (например, цветовой столбец в matlab).

Можно ли отобразить простой 2-мерный вектор на фигуре, используя Qimg или что-то?

Priya

-1

Решение

Предполагая, что размер вашего вектора n x n:

QImage image(n, n, QImage::Format_RGB32);
QRgb value;

for (int i=0;i<N;++i) {
for (int j=0;j<N;++j) {
value = getColor(vect_compare_result); //a function that returns color based on value
image.setPixel(i, j, value);
}
}

Если вы хотите, чтобы ваши пиксели были больше (например, один блок имеет размер 5х5 реальных пикселей):

int box_size = 5;
QImage image(n * box_size, n * box_size, QImage::Format_RGB32);
QRgb value;

for (int i=0;i<N;++i) {
for (int j=0;j<N;++j) {
value = getColor(vect_compare_result);
for (int k=0;k<box_size;++k)
for (int l=0;l<box_size;++l)
image.setPixel(i+k, j+l, value);
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]