• 23672阅读
  • 12回复

QImage读取文件的问题(QImage::scaled: Image is a null image) [复制链接]

上一主题 下一主题
离线米尔利安
 

只看楼主 倒序阅读 楼主  发表于: 2008-11-18
— 本帖被 XChinux 执行加亮操作(2009-01-06) —
程序代码如下,使用QLabel显示Pixmap,QImage读取图像文件:

    QImage image(filename);
    if (image.isNull()) {
        QMessageBox::information(this, tr("Image Viewer"),
            tr("Cannot load %1.").arg(filename));
        //return;
    };

    QPixmap *pixmap = new QPixmap;
    pixmap->fromImage(image);
    pixmap->scaled(size,Qt::KeepAspectRatio);
    setPixmap(*pixmap);

编译通过,但是运行的时候什么也不显示,输出栏提示QImage::scaled: Image is a null image
懵了……大侠帮忙……

PS:File  --读取-->  QImage  --加载--> QPixmap  --显示-->  QLabel  这个顺序不要改哦……


PPS: 使用setPixmap(QPixmap::fromImage(image));显示就可以……这是为什么呢……
[ 此贴被米尔利安在2008-11-18 11:04重新编辑 ]
我们在天上的父,愿人都尊你的名为圣。
愿你的国降临。
愿你的旨意行在地上,如同行在天上。
离线vrcats
只看该作者 1楼 发表于: 2008-11-18
跟踪一下,看看size是否正确
离线米尔利安

只看该作者 2楼 发表于: 2008-11-18
引用第1楼vrcats于2008-11-18 10:51发表的  :
跟踪一下,看看size是否正确

Size是对的,QSize size = image.size();用这句代码读出来的size也是对的。
我们在天上的父,愿人都尊你的名为圣。
愿你的国降临。
愿你的旨意行在地上,如同行在天上。
离线nmiirq

只看该作者 3楼 发表于: 2008-11-18
size的问题,或是格式问题
离线vrcats
只看该作者 4楼 发表于: 2008-11-18
pixmap=&(pixmap->fromImage(image));
离线米尔利安

只看该作者 5楼 发表于: 2008-11-18
多谢了,问题已解决~
我们在天上的父,愿人都尊你的名为圣。
愿你的国降临。
愿你的旨意行在地上,如同行在天上。
离线txutao
只看该作者 6楼 发表于: 2009-04-15
怎么解决的啊 我也遇到了同样的问题。。帮忙指导下好吗
离线kingnight
只看该作者 7楼 发表于: 2009-09-18
怎么解决的啊 我也遇到了同样的问题。。帮忙指导下好吗
离线ensky_cy
只看该作者 8楼 发表于: 2010-01-29
来问个问题,问了得到答案就走了,是不是该把解决方案说说啊,不然,这个问题下次遇见,还会有人问
离线yangfanxing
只看该作者 9楼 发表于: 2010-01-29
引用第8楼ensky_cy于2010-01-29 11:18发表的  :
来问个问题,问了得到答案就走了,是不是该把解决方案说说啊,不然,这个问题下次遇见,还会有人问


PS?
PHPWind好恶心。。。不想看这种界面。。。
离线午小夜

只看该作者 10楼 发表于: 2010-01-29
QPixmap pixmap = QPixmap::fromImage(image);
    pixmap.scaled(image.size(),Qt::KeepAspectRatio);
    label->setPixmap(pixmap);
我個人喜歡用QPixmap對象,幾乎不用QPixmap指針。
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线omegas
只看该作者 11楼 发表于: 2010-04-14
大家好:

    QImage image(filePath);
    QPixmap pixmap = QPixmap::fromImage(image);
    imageLabel->setPixmap(pixmap.scaled(imageLabel->size(),Qt::KeepAspectRatio));

          我用了以上句子在S3C2440板上顯示圖片,一般小的PNG和JPG都能顯示,但顯示

不了2MB或以上比較大的JPG,還出了以下這個錯誤:

QPixmap::scaled: Pixmap is a null pixmap

請問有誰知道原因?謝謝!
离线yangfanxing
只看该作者 12楼 发表于: 2010-04-14
回 11楼(omegas) 的帖子
板子相关。。。
那在上位机试了吗?调试的话很好查出是不是构造了Pixmap吧~
PHPWind好恶心。。。不想看这种界面。。。
快速回复
限100 字节
 
上一个 下一个