2013-06-13 44 views
0

如何將QML場景(如矩形,圖像等)轉換爲紋理並保存? 任何人都嘗試過,如果我能的組件轉換成紋理,那麼我應該能夠通過粒子系統或shaderEffects將QML場景渲染爲紋理並保存它

例處理後保存 圖片:

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

+0

「QML場景」是否意味着整個QML場景?在QtQuick2中,對於QQuickWindow :: setRenderTarget來說很簡單,而且我幾乎猜測它在Q1中是相同的QDeclarativeView ::渲染到QImage上的...... – peppe

+0

準確地說,我想要執行shaderEffectSource的操作,將Rectangle,Image和其他組件渲染到紋理並獲取這些紋理的指針,通過QImage保存紋理。 – StereoMatching

+0

任何示例?我發現了一個名爲OpenGL的QML,向我們展示瞭如何渲染qml場景,但沒有例子告訴我們如何將qml場景轉換爲紋理並保存。在QtQuick2中,我們甚至無法簡單地將Image傳輸到QImage並像QQ1那樣保存。 – StereoMatching

回答

0

我找到了另一種解決方案,這個帖子上

take screenshot

我們可以採取現場QML的截圖,然後我們可以對它做任何事情,包括渲染到紋理