Как нарисовать определенный цвет на QImage в формате Grayscale8? - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу нарисовать QImage в формате Format_Grayscale8, например:

tmpPix=QImage(2000,1000,QImage::Format_Grayscale8);

QBrush brush=QBrush(QColor(Qt::red));
painter.begin(&tmpPix);
painter.fillRect(0,0,100,100,brush);
painter.end();

brush.setColor(QColor(Qt::blue));
painter.begin(&tmpPix);
painter.fillRect(100,100,100,100,brush);
painter.end();

Затем я получаю данные пикселей из QImage:

uchar* data=tmpPix.bits();
qDebug("fist byte value:%d",data[0]);

data=tmpPix.scanLine(150);
qDebug("second byte value:%d",data[150]);

Первые данные пикселей - 87, второй - 39. Так что Qt :: red в Format_Grayscale8 - 87, Qt :: blue - 39. Как я могу использовать определенное значение для рисования на QImage в этом формате?

...