سؤال

لدي بسيط WPF (XAML) ملف يحتوي على بعض الأشكال المتحركة والنص.الرسوم المتحركة لا يوجد لديه السلوك التفاعلي.أريد أن أسجل هذه الرسوم المتحركة كملف فيديو أنني في وقت لاحق تنوي استخدام مثل "مقدمة" الشاشة سكرينكست.

ما أعتقد أني بحاجة إلى:التعليمات البرمجية C# التي تأخذ المدخلات ملف XAML و يبصق جودة عالية WMV في (على سبيل المثال في 24 إطارا في الثانية).

البدائل الممكنة يجب التحقيق فيها بالفعل

  1. سجل مع برنامج تسجيل الشاشة مثل Camtasia Studio.يعمل هذا ولكن الرسوم المتحركة ليست على نحو سلس خاصة عند الحركة لديها الكثير من التحولات أو حركة

  2. استخدام الأجهزة مثل DVI2USB قبل Epiphan النظم.باهظة التكاليف ؛ لم تكن قد حاولت ذلك.

  3. سجل الإخراج التلفزيوني (S-Video, etc.) باستخدام بطاقة DVR - جودة منخفضة ومنخفضة القرار.

تحديث على 28 أكتوبر 2008 - العامل التعليمات البرمجية المصدر

هذا بلوق وظيفة لديه عمل كامل شفرة المصدر سبيل المثال تصدير WPF/XAML كما AVI.إنه ليس بالسرعة التي أود ولكنه يعمل من أجل احتياجاتي:

رابط MSDN بلوق بوست

هل كانت مفيدة؟

المحلول

تجعل الإطارات مع RenderTargetBitmap ، ثم ترميز مع الترميز من اختيارك.ليست سريعة جدا ، ولكن 24 إطارا في الثانية قابلة للتحقيق على الكمبيوتر العادية.نحن نستخدم تقنية مماثلة إلى تغذية دفق الفيديو من جديد WPF المؤشرات إلى إرث نقطية النظام.قد يكون هناك حل أفضل ، لكنه يعمل.

سمعت أيضا من حل مع سحب جعلت الإطار من DirectX المخازن المؤقتة التي WPF يستخدم داخليا والذي يعمل أسرع بكثير من RenderTargetBitmap, ولكن يبدو أيضا لا يمكن الاعتماد عليها في إنتاج نظام

تحديث:يبدو أنك لا تحتاج في الوقت الحقيقي ، لذلك RenderTargetBitmap يجب أن يعمل من دون أي مشاكل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top