Display grayscale image using Qt

后端 未结 2 1735
天涯浪人
天涯浪人 2020-12-21 03:59

I have been trying to display a gray-scale image using Qt. The image data is loaded from a .txt file that contains 256x256 float data. There is no header involved for the im

2条回答
  •  时光取名叫无心
    2020-12-21 04:38

    QImage img = AImage;
    if (!AImage.isNull())
    {
        int pixels = img.width() * img.height();
        if (pixels*(int)sizeof(QRgb) <= img.byteCount())
        {
            QRgb *data = (QRgb *)img.bits();
            for (int i = 0; i < pixels; i++)
            {
                int val = qGray(data[i]);
                data[i] = qRgba(val, val, val, qAlpha(data[i]));
            }
        }
    }
    return img;
    

    Use RGBA for good grayscale.

提交回复
热议问题