c + + - Afspiller transparent video over skærmen med brugerdefineret brugerindgangshåndtering

Indlæg af Hanne Mølgaard Plasc

Problem

Jeg skal spille animerede tegn over skærmen på Windows. Dybest set vil det være tegnvideo med gennemsigtighed, og kun uigennemsigtige dele skal kunne acceptere brugerindgang (fx museklik), alle andre begivenheder skal sendes videre til det underliggende vindue. Jeg har lavet et enkelt transparent DirectX-vindue med video i det. Men jeg ved ikke, hvordan man gør dele af dette vindue 'gennemsigtige' til brugerindgang. Så hvis jeg klikker på tegnet, skal min ansøgning acceptere dette klik, hvis jeg klikker på den gennemsigtige del af video-kliket skal håndteres af det underliggende vindue. Hvordan kan jeg gøre det? Tak på forhånd.

Bedste reference

Jeg formoder, at du betyder Direct Show i stedet for DirectX? Du kan gøre det ved hjælp af Video Mixing Renderer. Som med noget direkte viser det ikke, nødvendigvis, nemt. Forbind først videoen til VMR-filteret.
For det andet, for de animerende figurer er alt hvad du behøver at lave, et enkelt DirectShow push source-filter (det forklares rigtig godt i DirectShow-prøverne), der leverer animationsrammerne. For det tredje skal du oprette en IVMRImageCompositor klasse. Du kan derefter bruge DirectX til at sammensætte billederne.