Qt :图片与QByteArray互转

转载地址:http://blog.csdn.net/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小技巧)