Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在Qt中将Jpeg Base64字符串转换为Jpeg图像_C++_Qt_Qimage - Fatal编程技术网

C++ 如何在Qt中将Jpeg Base64字符串转换为Jpeg图像

C++ 如何在Qt中将Jpeg Base64字符串转换为Jpeg图像,c++,qt,qimage,C++,Qt,Qimage,我从Qt开始 我需要将Jpeg图像的Base64字符串转换为Qimage并在QLabel中显示它 有人能告诉我怎么做吗?好的,有和QImage。QImage具有可用于base64编码数据的方法 QByteArray imageData = QByteArray::fromBase64("YourBase64EncodedString"); QImage img; if (img.loadFromData(imageData)) { // show this label somewhere

我从Qt开始

我需要将Jpeg图像的Base64字符串转换为Qimage并在QLabel中显示它

有人能告诉我怎么做吗?

好的,有和QImage。QImage具有可用于base64编码数据的方法

QByteArray imageData = QByteArray::fromBase64("YourBase64EncodedString");
QImage img;
if (img.loadFromData(imageData)) {
    // show this label somewhere.
    QLabel label;
    label->setPixmap(QPixmap::fromImage(img)); 
}
在这里,您可以找到有关如何


一个更完整的例子可以在我的文章中找到。几年前,我编写了这个应用程序,用于从意外删除的电子邮件中恢复base64编码的图像。

您可以使用QByteArray和QImage::loadFromDataconst QByteArray&data执行此操作

  QByteArray barray = QByteArray::fromBase64("base64 string");
  QImage image;
  image.loadFromData(barray);

您的第一行代码没有有效的语法。考虑到OP对Qt来说是新的,它只会引起混乱。你是对的,语法不正确。我应该将其标记为伪代码。请注意,OP还询问如何将图像添加到QLabel。当问题结束时,我正在写答案。啊,是的,没有抓住这一点:@Merlin069你能投票重新打开它吗?在你编辑之后,这个问题并没有那么糟糕。我认为人们在评分时对OP有点苛刻。他/她显然是SO的新手,即使问题中添加了不必要的Base64 jpeg,他们问的问题也很清楚。很抱歉,我无法把问题说清楚。我试图将jpeg图片的base64值赋给QByteArray变量。字符串长度超过200000个字符。作业没有正常进行。谢谢Merlin069的建议。