QImage创建

时间:2014-12-03 12:32:17

标签: image format qimage

我开始使用Qt库处理radiolocation字段中的图像,我有一些问题,抱歉愚蠢。我必须使用0和1这样的

从bytearray创建黑白QImage
0000000000000000000000

0000001100000000000000

0000001111000000000000

0000011111110000000000

0000011111111110000000

0000000111111111000000

我做

QImage pIm = QImage ((uchar *)(bIm.constData(), width, height, nBitsPerLine, QImage::Format_Mono);

其中0是黑色,1是白色,但图像不正确,我必须在此图像上转换颜色?抱歉愚蠢的问题。

1 个答案:

答案 0 :(得分:0)

我将这些数据转换为像

这样的像素
QImage pIm (nWidth, nHeight, QImage::Format_ARGB32);
ncount = 0;
for (uint i=0; i<nWidth; i++)
{
    for (uint j=0; j<nHeight; j++)
    {
        uint c = (uchar)imData[ncount++];
        c *= 255;
        pIm.setPixel(i, j, qRgb(c,c,c));
    }
}

在我认为像素颜色可以通过标准化为1.0数字来描述之前,但我认为不正确并且我转换为0-255范围。