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

时间:2013-01-02 12:02:05

标签: c++ image qt

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

2 个答案:

答案 0 :(得分:3)

您可以使用带有一系列uchars的ctor从原始数据创建一个QImage对象。 您需要指定给予QImage(RGB,RGBA,Indexed等)的数据格式

QImage ( uchar * data, int width, int height, Format format )
QImage ( const uchar * data, int width, int height, Format format )
QImage ( uchar * data, int width, int height, int bytesPerLine, Format format )
QImage ( const uchar * data, int width, int height, int bytesPerLine, 
         Format format )

http://doc.qt.digia.com/qt/qimage.html

E.g:

uchar* data = getDataFromSomewhere();
QImage img(data, width, height, QImage::Format_ARGB32);

希望有所帮助。

答案 1 :(得分:-1)

你的问题不明确。使用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.