-1

我有原始图像缓冲区。我想在 qml 屏幕上显示它。我应该将该图像转换为任何图像格式,然后将其显示在屏幕上吗?或者有什么方法可以使用 QML 在屏幕上显示原始图像缓冲区?当我尝试以正常方式执行此操作时,我收到一条错误消息:

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

代码:

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

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

4

1 回答 1

1

如我所见,您基本上有 3 个选项:

如果你不熟悉 qtdeclarative 源码和 qtbase 源码:

  1. 您必须将其转换为 qt 支持的某种格式,例如 jpg、png、bmp。

如果您熟悉 qt 源代码,您可以:

  1. 实现一个 QQuickImageProvider 以支持 RAW 图像格式。您必须阅读 RAW 格式的规范并自己编写代码
  2. 在 qtbase 中的 QImage 类中添加对 RAW 格式的支持

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

于 2013-10-09T12:23:00.490 回答