c++ - 如何在 Qt GUI 中显示原始图像文件?

标签 c++ qt

我是 C++ 和 Qt 的新手,但我想知道是否有人可以帮助我。

我有一个名为 fb0 的原始图像文件,具有以下属性:

Width: 1024
Height: 768
Format: rgb565 (QImage::Format_RGB16?)

我将如何从 fb0 加载数据,然后在 Qt GUI 中显示该图像?

解决方案:

   QFile file("C:\\Users\\Username\\Desktop\\RawImage.raw");
   if (!file.open(QFile::ReadOnly))
   {
       qDebug("Could not open file");
   } else {
       qDebug() << file.fileName() << " opened";
   }
   QByteArray array =file.readAll();
   unsigned char* Data = (unsigned char*)&array.data()[0];
   QImage myImage(Data,1024,768,QImage::Format_RGB16);
   QLabel myLabel;
   myLabel.setPixmap(QPixmap::fromImage(myImage));
   myLabel.show();

最佳答案

你需要做类似的事情:

QFile file("yourFile.raw");
if (!file.open(QFile::ReadOnly)) return;
QByteArray array = file.readAll();
QImage image(array.data(), w, h, QImage::Format_RGB16);

虽然还没有测试过。大脑到终端。

关于c++ - 如何在 Qt GUI 中显示原始图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18637721/

相关文章:

C++ PTHREADS - 无效的转换 void*(*)() 到 void*(*)(void*)

c++ - 扩展公共(public)基础 : Diamond inheritance vs. QObject

c++ - Qt - QApplication 是什么?

qt - 在 QML 中使用模型的大小

c++ - Qt:QGraphicsScene 没有在我期望的时候更新

c++ - Qt:按值将自定义对象存储在集合中

c++ - 使用 getline() C++ 从文件读取时遇到问题

c++ - 将数据读入队列

c++ - 具有派生类的自定义容器的迭代器

C++ 继承。更改对象数据类型