转载地址:http://blog.youkuaiyun.com/taoerit/article/details/76020346
1 将图片转为QByteArray传输
QBuffer buffer;
buffer.open(QIODevice::ReadWrite);
//pixmap不能为空,必须先将图片加载到pixmap中
pixmap.save(&buffer,"jpg");
QByteArray pixArray;
pixArray.append(buffer.data());
2 将QByteArray转为图片显示
QByteArray array;
while(client->waitForReadyRead(100)){
array.append((QByteArray)client->readAll());
}
QBuffer buffer(&array);
buffer.open(QIODevice::ReadOnly);
QImageReader reader(&buffer,"JPG");
QImage img = reader.read();
if(!img.isNull()){
QPixmap pix = QPixmap::fromImage(img);
ui->showImageLabel->setPixmap(pix.scaled(ui->showImageLabel->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation));
}
本文介绍如何在Qt中实现图片的序列化为QByteArray以及从QByteArray反序列化回图片的过程。首先展示如何将QPixmap对象保存为QByteArray以便于在网络中传输。接着介绍了接收端如何将QByteArray数据还原成QPixmap对象并进行显示。
6222

被折叠的 条评论
为什么被折叠?



