图片转Base64数据
m_imagePath = QFileDialog::getOpenFileName(this, tr("select image"), "./pic/",
tr("Image Files(*.jpeg *.jpg *.png *.bmp *.pgm *.pbm);;All(*.*)"));
ui->imageDataPath->setText(m_imagePath);
logDebug("selected image, FilePath is :" + m_imagePath);
QImage *img = new QImage;
if( !(img->load(m_imagePath)) )
{
logDebug("open image fail");
QMessageBox::information(this, "EError", "open image fail");
m_isRequired = false;
delete img;
return;
}
QFileInfo imageInfo = QFileInfo(m_imagePath);
QString sImgSuffix = imageInfo.suffix();
logDebug("imgSuffix :" + sImgSuffix);
QByteArray baImgSuffix = sImgSuffix.toLatin1();
QByteArray baImgData;
QBuffer buf(&baImgData);
img->save(&buf, baImgSuffix.data());
QByteArray baImgToHexed = baImgData.toBase64();
buf.close();
QString sImgB64Data(baImgToHexed);
logDebug("image base64 data is :" + sImgB64Data);
m_mapReqContent["imageData"] = sImgB64Data;
Base64转图片
QString Base64Str ="" ;
QLabel *lab = new QLabel("picture");
lab->showNormal();
lab->setGeometry(500,500,500,500);
lab->setFixedSize(500, 500);
QPixmap Baseimage;
Baseimage.loadFromData(QByteArray::fromBase64(Base64Str.toLatin1()));
QPixmap scaledPixmap = Baseimage.scaled(500, 500, Qt::KeepAspectRatio);
lab->setAlignment(Qt::AlignCenter);
lab->setPixmap(scaledPixmap);