• 5711阅读
  • 2回复

[提问]qt显示RGB图片不成功 [复制链接]

上一主题 下一主题
离线weixinxin
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-18
本来是为了在label上显示 YUV,qt支持RGB于是把YUV转成RGB后在显示
RGB存在 UCHAR Buffer里
QImage image(Buffer,320,240,QImage::Format_RGB888);
QPixmap pixmap = QPixmap::fromImage(image);
       imageLabel->setPixmap(pixmap);
可是在qt里仿真的时候  执行到上面程序就自己关闭掉了 ……求高人解答
离线weixinxin
只看该作者 1楼 发表于: 2011-03-18
注明下  用 fread把RGB文件读入的 Buffer
离线weixinxin
只看该作者 2楼 发表于: 2011-03-18
上源码
char     *InBuf =NULL ;
unsigned char     *OutBuf ;
QString fileName = QFileDialog::getOpenFileName(this,
                                   tr("Open File"), QDir::currentPath());
    QFile file(fileName);
    file.open(QIODevice::ReadOnly);
    QDataStream in(&file);    // read the data serialized from the file
     in >> InBuf;
    fileSize=strlen(InBuf);

if(InBuf!=NULL)

    QMessageBox::information(this, tr("Image Viewer"),
                             tr("Cannot load %1.").arg("a"));

       memcpy(InBuf,OutBuf,fileSize);

    QImage image(OutBuf,320,240,QImage::Format_888);

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


    QPixmap *pixmap=new QPixmap;

    pixmap->fromImage(image);
imageLabel->setPixmap(*pixmap);最后在label上显示
就是把把RGB读入InBuf在写入 QImage  ,然后显示
可是在QT上一run  ,窗口就自动关闭了 ……调了一下午 ,求解
快速回复
限100 字节
 
上一个 下一个