Qt :图片与QByteArray互转

来源:互联网 发布:死飞自行车多少钱淘宝 编辑:程序博客网 时间:2024/05/16 10:54

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));
}