• 5949阅读
  • 6回复

关于qt显示jpg图像,不显示的问题 [复制链接]

上一主题 下一主题
离线shanghai
 
只看楼主 正序阅读 楼主  发表于: 2012-04-12
   那位大哥帮忙看一下为什么不显示

            QBuffer buffer(&order);
         buffer.open( QIODevice::ReadOnly );

         QImageReader reader(&buffer,"JPG");
         QImage image = reader.read();
         ui->label_5->setPixmap(QPixmap::fromImage( image ));

        order是QbyteArray,里面打印出来的数据问题
离线368229767
只看该作者 6楼 发表于: 2012-04-12
我把我的那部分代码发给你看看吧 ,我是可以显示,但是跨网络传输的话就显示不完全!
      QByteArray array =client->readAll();
            QBuffer buffer(&array);
            buffer.open(QIODevice::ReadOnly);

            QImageReader reader(&buffer,"BMP");
            QImage image = reader.read();

            if(!image.isNull())
            {
                ui->MessagetextEdit->clear();
                int width =ui->MessagetextEdit->viewport()->width();
                if (image.size().width() > width || image.size().height() > width)
                {
                    image = image.scaled(width, width, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                }
                QTextCursor cursor = ui->MessagetextEdit->textCursor();
                QTextDocument *document = ui->MessagetextEdit->document();
                // 下面的addResource代码非常重要, 内存增加很少
                cursor.movePosition(QTextCursor::End);
                // edit->setAlignment(Qt::AlignCenter);
                document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
                cursor.insertImage("image");
离线shanghai
只看该作者 5楼 发表于: 2012-04-12
把qbytearray写到文件,用其它的可以打开,但是在我的界面上看不到。
离线dbzhang800

只看该作者 4楼 发表于: 2012-04-12
引用第2楼shanghai于2012-04-12 09:59发表的  :
qbytearray,是网络发过来的数据,跟发送端对过了,没问题。


这个,
你确定你发送端的数据有没有问题吧

比如,是正常的 .jpg 图像文件么? 直接写入文件的话,其他图像查看器能打开么?
离线368229767
只看该作者 3楼 发表于: 2012-04-12
我也是用JPG的 在本地发送什么的都没问题
可是通过网络发送的话 图片就显示得不够完成
有一部分是灰色的!
到现在一直解决不了!
离线shanghai
只看该作者 2楼 发表于: 2012-04-12
qbytearray,是网络发过来的数据,跟发送端对过了,没问题。
离线dongchen
只看该作者 1楼 发表于: 2012-04-12
看一些路径,还有图片格式是否正确?
快速回复
限100 字节
 
上一个 下一个