c # — Как контролировать рисование игрока

Я пытаюсь нарисовать что-то на живом видео. На мой взгляд, лучший способ сделать это — обработать событие WM_PIANT.

Моя цель — сделать так, чтобы игрок сначала рисовал, а затем и приложение. Таким образом я смогу рисовать на видео.
Это означает, что я хочу получать уведомления каждый раз, когда нам нужно нарисовать новый кадр в окне, а затем обработать событие.

Я использую DirectshowNet, поэтому я программирую на C # (у меня есть все интерфейсы API C ++
есть). Я понимаю, что диспетчер графиков пересылает определенные оконные сообщения в Video Renderer, например WM_PAINT.

Как заставить игрока рисовать рамку до приложения, а не после?

0

Решение

WM_PAINT это не лучший способ, более того, это неправильный путь.

Проверять, выписываться DxText Пример из библиотеки DirectShow.NET. Его описание:

Пример приложения, показывающего, как накладывать текстовые строки на
поток данных. Поток читается из файла avi.

Это так близко к тому, чего вы пытаетесь достичь. Альтернативный подход показан в другом примере, BitmapMixer:

BitmapMixer является примером того, как рисовать вещи поверх видео, используя
VMR9.

Этот образец в основном построен на интерфейсе IVMRMixerBitmap9.
Этот интерфейс принимает растровые изображения как контекст устройства GDI или как Direct3D
Поверхность. Основным преимуществом Direct3D Surface является то, что он
позволяет использовать настоящую альфа-прозрачность. GDI DC не поддерживает
Альфа растровое изображение и прозрачность достигается с помощью цветовой клавиатуры.

Этот образец динамически генерирует растровые изображения с использованием GDI +.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]