从 QT 中的缓冲区加载像素图

Load pixmap from buffer in QT

本文关键字:加载 像素 缓冲区 QT      更新时间:2023-10-16

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

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 是假的。有什么建议吗?

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

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

数据是我示例中的QByteArray

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

loadFromData(&data, "BMP");