将QML场景渲染为纹理并保存

时间:2013-06-13 03:56:39

标签: c++ qt qml

我怎样才能将QML场景(如Rectangle,Image等)转换为纹理并保存? 以前有人试过吗?如果我可以将组件翻译成纹理,那么我应该可以保存 粒子系统或shaderEffects处理后的图像

示例:

Rectangle{
  id:root

  widht:640
  height: 480

  ToTexture{ id: toTexture} //a new type created by c++

  MouseArea{

     anchors.fill: parent

     onClicked: {         
         toTexture.saveAsTexture(root)
     }
  }
}

问题是,如何设计像ToTexture这样的新类型? “场景图 - QML下的OpenGL”的例子。告诉我们如何 渲染一个qml场景,但我找不到一个例子告诉我们如何 将qml场景转移到纹理。

没有此功能,我无法保存生成的图形QtQuick

1 个答案:

答案 0 :(得分:0)

我在这篇文章中找到了另一个解决方案

take screenshot

我们可以截取qml场景的截图,然后我们可以做任何事情,包括渲染纹理