У меня возникла проблема с загрузкой данных изображений из необработанных данных 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
Ошибка была в конструкторе QByteArray, я должен был использовать этот.
Других решений пока нет …