2009-02-21 9 views
0

J'ai besoin de jouer des personnages animés sur l'écran de Windows. Fondamentalement, il s'agira de la vidéo de caractères avec transparence et seules les parties non transparentes devraient pouvoir accepter l'entrée de l'utilisateur (par exemple, les clics de souris), tous les autres événements devraient être transmis à la fenêtre sous-jacente.Lecture de vidéos transparentes sur l'écran avec gestion personnalisée des entrées utilisateur

J'ai créé une simple fenêtre DirectX transparente avec de la vidéo. Mais je ne sais pas comment rendre certaines parties de cette fenêtre "transparentes" pour l'entrée de l'utilisateur. Donc, si je clique sur le personnage, mon application devrait accepter ce clic, si je clique sur la partie transparente de la vidéo, le clic devrait être géré par la fenêtre sous-jacente. Comment puis-je le faire?

Merci d'avance.

Répondre

1

Je suppose que vous voulez dire Direct Show plutôt que DirectX?

Vous pouvez le faire en utilisant le mélangeur de mixage vidéo. Comme pour tout ce qui est direct, ce n'est pas nécessairement facile.

Connectez d'abord la vidéo au filtre VMR. Deuxièmement, pour les personnages animés, tout ce que vous avez à faire est de construire un simple filtre source de DirectShow (c'est très bien expliqué dans les exemples DirectShow) qui fournit les cadres d'animation. Troisièmement, vous devez créer une classe IVMRImageCompositor. Vous pouvez ensuite utiliser DirectX pour composer les images.