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