9

我有一个包含图像内容的字节数组(png/bmp 或其他格式)。

如何将其加载到 QPixmap 中?

4

3 回答 3

16
bool QPixmap::loadFromData ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )

这里的格式是字符串文字"PNG"或类似的东西

QPixmap p;
QByteArray pData;
// fill array with image
if(p.loadFromData(pData,"PNG"))
{
   // do something with pixmap
}
于 2011-07-26T07:32:44.073 回答
7

您应该使用以下内容,其中您的字节位于 imageData 变量中,格式由最后一个参数指定:

QPixmap pixmap = QPixmap::fromImage(
    QImage(
        (unsigned char *) imageData, 
        image_width, 
        image_height, 
        QImage::Format_RGB888
    )
);
于 2011-07-26T07:45:14.590 回答
0

使用此构造函数:

QImage ( const uchar * data, int width, int height, Format format )

这里有更多信息。之后,您可以使用QPixmap.convertFromImage()创建像素图。

于 2011-07-26T07:33:23.343 回答