2008-09-16 208 views
4

我有一個簡單的WPF(XAML)文件,它具有一些動畫形狀和文本。動畫沒有交互行爲。我想將此動畫錄製爲視頻文件,我稍後打算將其用作屏幕錄像的「前奏」屏幕。如何將XAML/WPF文件轉換爲視頻(AVI,WMV等)

我認爲我需要的是:C#代碼需要輸入XAML文件並在(例如24fps)時吐出高質量的WMV。

可能的替代我已經調查已經

  1. 記錄屏幕錄製軟件,如Camtasia工作室。這可行,但動畫並不平滑,特別是當動畫有很多轉場或動作時

  2. 使用Epiphan Systems的DVI2USB之類的硬件。成本太高;還沒有嘗試過。

  3. 使用DVR卡錄製電視輸出(S-視頻等) - 低質量和低分辨率。在2008年10月28日

更新 - 工作的源代碼

這個博客帖子有出口WPF/XAML爲AVI的全部工作的源代碼示例。這不是一樣快,我想,但它適合我的需求:

link to MSDN blog bost

回答

4

渲染幀,RenderTargetBitmap,然後用你選擇的編解碼器進行編碼。速度不是很快,但在普通PC上可達到24 fps。我們使用類似的技術將視頻流從新的WPF指標提供給傳統位圖系統。可能會有更好的解決方案,但它可行。

我還聽到一個解決方案與從WPF內部使用DirectX緩衝區,其作品比RenderTargetBitmap快得多拉渲染幀,但它似乎太不可靠生產系統

更新使用方法:看來你不需要實時,所以RenderTargetBitmap應該沒有任何問題。