在屏幕上显示原始图像-QML

时间:2013-10-09 09:53:59

标签: qt qml

我有原始图像缓冲区。我想在qml屏幕上显示它。 我应该将该图像转换为任何图像格式,然后将其显示在屏幕上吗?或者有没有办法使用QML在屏幕上显示原始图像缓冲区? 当我尝试以正常方式做到这一点时,我得到一个错误说:

QML Image: Cannot open: file:///ui_cutebox_mips/1_1.raw

代码:

Image{
...
source: "1_1.raw"
}

如何在屏幕上显示原始图像?提前谢谢。

1 个答案:

答案 0 :(得分:1)

我基本上可以看到3个选项:

如果您不熟悉qtdeclarative源代码和qtbase源代码:

  1. 您必须将其转换为qt支持的某种格式,例如jpg,png,bmp。
  2. 如果您熟悉qt源代码,您可以:

    1. 实施QQuickImageProvider以支持RAW图像格式。你必须阅读有关RAW格式的规范并自己编写代码
    2. 在qtbase
    3. 中添加对RAW格式的支持到QImage类

      我想我可能误解了你。如果您正在谈论原始图像缓冲区,就像您有一个带像素的二进制文件,那么您仍然可以使用相同的选项。在创建QImage时,您必须将图像缓冲区作为ImageData放入ImageProvider中的QImage。