QT中QPixmap直接加载大图片文件报错

用QT写一个用OpenGL显示全景图的小软件,遇到问题如下:

textures[j] = bindTexture
        (QPixmap(QString("abe.jpg"), GL_TEXTURE_2D);

直接将图片传入QPixmap,当图片文件高于2-3MB以上时会报错如下:

QT中QPixmap直接加载大图片文件报错_第1张图片

当图片文件只有1M以下时,则程序可正常运行。

于是将代码修改如下,先将图片加载到QImage,再转为QPixmap,就没问题了

QImage image;
    image.load(QString("abe.jpg"));
    QPixmap pixmap;
    pixmap = QPixmap::fromImage(image.scaled(QSize(8192, 1934), Qt::KeepAspectRatio));
    texsphere = bindTexture(pixmap, GL_TEXTURE_2D);

你可能感兴趣的:(C++,QT5)