Silverlight. Запись растрового изображения. Делает плохие изображения из неподвижного видео. Есть ли обходной путь? - PullRequest
1 голос
/ 11 марта 2010

У меня есть такой код:

            MediaElement me = myPlayer.MediaElement;
            WriteableBitmap wb = new WriteableBitmap(me.NaturalVideoWidth, me.NaturalVideoHeight);
            wb.Render(me, null);

Я хочу делать миниатюры из видео во время выполнения. Это работает хорошо с одной маленькой причудой. Когда видео в медиа-элементе приостановлено, растровое изображение прерывается. Как испорченный JPEG. Иногда это черный квадрат со случайными цветными точками ...

Я думаю, что это ошибка Silverlight. Мой вопрос - есть ли обходной путь?

1 Ответ

1 голос
/ 12 марта 2010

Совершенно случайно я обнаружил, что что-то не так ... Я нашел решение, приведенное выше, проверил его на нескольких блогах и форумах silverlight.net Я потратил 40 минут на чтение всех публикаций сообщества гигантов, пытаясь найти, что может быть не так в 3 строках кода. Все указывало, что это должно работать. И это работает .. Когда-нибудь ...

Однако, когда я пытаюсь сделать изображение неподвижного медиаэлемента, не работает 9 раз из 10 ..

решение очень простое.

        MediaElement me = myPlayer.MediaElement;
        WriteableBitmap wb = new WriteableBitmap(me.NaturalVideoWidth, me.NaturalVideoHeight);
        wb.Render(me, null);
        image.Source = wb;
        **wb.Invalidate();**
...