2013-08-24 8 views
0

У меня есть проблема с загрузкой данных изображения из необработанных данных bmp, загруженных ранее из большого файла игры.
Я уверен, что данные в порядке, так как ветка else не достигнута, но изображение не отображается.
Возможно, я не правильно использую loadFromData?
Кто-нибудь встретил эту проблему раньше?Загрузка изображения на графический вид из массива байтов

QByteArray buff((this->current_object->image_buffer)); 
QPixmap pixmap; 
if(pixmap.loadFromData(buff)){ 
    QGraphicsPixmapItem *item = new QGraphicsPixmapItem(pixmap); 
    this->scene->addItem(item); 
    this->ui->graphicsView->update(); 
}else{ 
    QMessageBox::information(0, "Error.", "Could not convert BMP image."); 

    //TEST IF BITMAP IS CORRECT 
    FILE *pFile = fopen("/home/konstanty/img.bmp", "wb"); 
    for(int j=0;j<this->current_object->bitmap_size;j++){ 
     fwrite (&this->current_object->image_buffer[j], 1 , 1 , pFile); 
    } 
    fclose(pFile); 

    QPixmap imgg("/home/konstanty/img.bmp"); 
    qDebug() << imgg.isNull(); // output - false 

ответ

1

Обнаружена ошибка в QByteArray конструктор, я должен использоваться ahve this one.