c++ - 从字节数组加载图像到图形 View

标签 c++ qt qpixmap qbytearray

我在从之前从大型游戏文件加载的原始 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 构造函数中,我应该使用 this one .

关于c++ - 从字节数组加载图像到图形 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418058/

相关文章:

c++ - 如何让 GCC 将 .text 部分编译为 ELF 二进制文件中的可写部分?

c++ - 动态数组的初始化列表?

c++ - g++ -M -MF 选项输出一个目标文件,如何输出到所有目标文件

c++ - 如何在 QT QWidgets C++ 中围绕其中心旋转图像?

c++ - 如何使用 Qt 到 Xlib 窗口绘制矩形

c++ - 把QPixmap画成一个圆圈?

c++ - MSVC2015 初始化应保持未初始化的类成员

c++ - 在类中使用自定义 new() 运算符时,谁为 shared_ptr 的控制 block 分配内存

c++ - 正则表达式工作很慢

连接到 Qt 信号的 Python lambda 函数在不同线程中创建时不会运行