Создание видео из анимации WPF / Silverlight - PullRequest
5 голосов
/ 21 сентября 2009

У меня есть анимация, написанная на XAML. Мне нужно создать видео (AVI) из этой анимации. Есть ли способ сделать это?

Ответы [ 3 ]

5 голосов
/ 31 января 2011

Вот как это сделать для WPF (т.е. не Silverlight)

http://blogs.msdn.com/b/saveenr/archive/2008/09/22/wpf-xaml-saving-an-animation-as-an-avi-video-file.aspx

4 голосов
/ 21 сентября 2009

Если у вас есть Expression Encoder, вы можете сделать следующее:

  1. Создайте пустой фильм, который имеет столько же кадров, сколько ваша анимация (вы можете изменить длину позже, если вы ошиблись)
  2. Используйте параметр наложения анимации XAML, чтобы добавить анимацию на основе XAML
  3. Отрисовка анимации в WMV
  4. Конвертируйте видео из WMV в AVI (многие бесплатные инструменты сделают это)

Я полагаю, что бесплатная версия Expression Encoder справится с этим.

Если Expression Encoder не будет работать для вас, вы также можете использовать программное обеспечение для захвата экрана, например Jing или Camtasia.

0 голосов
/ 03 апреля 2014

С Silverlight мой подход был:

  1. Перенос снимков холста в WriteableBitmap;
  2. Конвертируйте их в .jpg с бесплатной библиотекой ImageTools Silverlight;
  3. сохранить его в папку;
  4. Запустите FFmpeg.exe (из Silverlight) и конвертируйте его в видео.

Если вы не можете запустить .exe-файлы, тогда единственный вариант - отправить каждый .jpg-файл (в виде байтового массива) на сервер и использовать там «Process.Start»; и затем отправьте полученное видео обратно в Silverlight.

Поскольку ImageTools не очень быстрый, мне пришлось прибегнуть к сохранению каждого изображения в формате .bmp и иметь libjpeg-turbo для преобразования их в .jpg.

...