在QT中从缓冲区加载pixmap

时间:2014-02-17 21:06:20

标签: c++ qt

我目前有关于图像的以下详细信息

int nBufSize ;   //contains the buffer size
void* lpBmpBuf;   //The pointer to the first byte of the bitmap buffer

如何从中获取QPixmap?

这是我到目前为止所做的事情

QByteArray b((char*)lpBmpBuf,nBufSize);
bool t = pix.loadFromData(b,  0, Qt::AutoColor);

但在这种情况下,t是假的。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

将位图缓冲区复制到字节数组中,因为你也有长度,然后:

QPixmap::loadFromData(&data, 0, Qt::AutoColor);

数据是我示例中的QByteArray

此外,如果您知道文件的扩展名/类型,您可以在第二个参数中指定它:

loadFromData(&data, "BMP");