0

我从套接字接收 BItmap 图像,所以它是 char* 我可以将它写入文件但如何直接从缓冲区显示它

ui->label->setPixmap(????)

谢谢

4

2 回答 2

1
QByteArray byte=QByteArray::fromRawData(buf, sizeofimagebuffer );
    QPixmap  image;
    if(image.loadFromData(byte,"BMP"))
    {
        ui->label->setPixmap(image);
        ui->label->update();
    }

这行得通 :)

于 2012-08-17T12:00:59.567 回答
1

您可以从该数据构造 QImage,然后从中创建 QPixmap。例如:

int dataSize = 1024;
uchar data[dataSize];
QImage image = QImage::fromData(data, dataSize, "PNG");
QPixmap pixmap = QPixmap::fromImage(image);
于 2012-08-17T11:32:04.943 回答