Воспроизведение прозрачного видео поверх экрана с пользовательской обработкой пользовательского ввода - PullRequest
0 голосов
/ 21 февраля 2009

Мне нужно играть анимированные персонажи на экране в Windows. По сути, это будет символьное видео с прозрачностью, и только непрозрачные части должны быть способны принимать пользовательский ввод (например, щелчки мыши), все остальные события должны передаваться в основное окно.

Я сделал простое прозрачное окно DirectX с видео в нем. Но я не знаю, как сделать части этого окна «прозрачными» для пользовательского ввода. Поэтому, если я нажимаю на персонажа, мое приложение должно принять этот щелчок, если я нажимаю на прозрачную часть видео - щелчок должен обрабатываться нижележащим окном. Как я могу это сделать?

Заранее спасибо.

1 Ответ

1 голос
/ 28 февраля 2009

Полагаю, вы имеете в виду Direct Show, а не DirectX?

Вы можете сделать это с помощью Video Mixing Renderer. Как и во всем остальном, это не обязательно просто.

Сначала подключите видео к фильтру VMR.
Во-вторых, для анимации персонажей все, что вам нужно сделать, - это создать простой исходный фильтр DirectShow (это хорошо объяснено в примерах DirectShow), который предоставляет кадры анимации. В-третьих, вам нужно создать класс IVMRImageCompositor. Затем вы можете использовать DirectX для компоновки изображений.

...