編輯:由於我原來的問題是由於我的錯誤,我將重新說明這個問題。複製託管的Silverlight控件的內容
我在C++應用程序的窗口中託管Silverlight,代碼爲here。
現在我想將控件的內容複製到內存中,以便在我自己的渲染器中使用內容。我遇到的問題是,當我將EnableGPUAcceleration設置爲true時,BitBlt停止工作,我得到的只是黑色。
我覺得理論上應該有一種方法可以將GPU加速的Silverlight控件的內容與其alpha,像glReadPixels。
任何人有任何想法,如何複製與非窗口gpu加速的Silverlight控件的alpha的內容?
另一個問題是窗口必須是可見的,沒有其他窗口可能會重疊,否則我沒有得到正確的內容。我希望託管窗口是隱形的。
工作示例代碼可以找到here(雖然沒有實際的BitBlt「ting」,我試圖去工作)。
您是否有示例代碼可以真正演示您的alpha問題?因爲CodeProject託管的Silverlight控件可以用BitBlt成功複製,對嗎?或者我錯過了什麼? – 2011-01-27 14:30:33