C++ 使用Qt从原始数据加载图像

C++ 使用Qt从原始数据加载图像,c++,image,qt,C++,Image,Qt,我很惊讶,因为我找不到任何从原始数据加载图像的方法。有什么优雅的方法吗?我只需要从原始位图二进制数据(无标题)创建一个QImage或类似的对象。您可以使用接受UChar数组的ctor从原始数据创建一个QImage对象。 您需要指定给定给QImage的数据格式(RGB、RGBA、索引等) 例如: 希望能有帮助。你的问题不清楚。使用Qpixmap。和Qbyte数组。这很容易 QPixmap pic; pic.loadFromData(array); //array contains a b

我很惊讶,因为我找不到任何从原始数据加载图像的方法。有什么优雅的方法吗?我只需要从原始位图二进制数据(无标题)创建一个QImage或类似的对象。

您可以使用接受UChar数组的ctor从原始数据创建一个QImage对象。 您需要指定给定给QImage的数据格式(RGB、RGBA、索引等)

例如:


希望能有帮助。

你的问题不清楚。使用Qpixmap。和Qbyte数组。这很容易

  QPixmap pic;
  pic.loadFromData(array); //array contains a bite array of the image.
  label->setPixmap(pic);  //do what ever you want from the image. here I set it to a lable.

亲爱的Lakshan,您的回答与Digital外科医生完全相同,请阅读我上面的评论。亲爱的Lucas,谢谢您的回答。当然有帮助!问题是我不想创建一个QImage对象的新实例。无论如何,谢谢你。Cheers@D考虑到Qt的重载值类型的写时复制语义,创建一个新的映像实例并将其分配给一个现有对象应该不会造成任何伤害。
uchar* data = getDataFromSomewhere();
QImage img(data, width, height, QImage::Format_ARGB32);
  QPixmap pic;
  pic.loadFromData(array); //array contains a bite array of the image.
  label->setPixmap(pic);  //do what ever you want from the image. here I set it to a lable.