Questo è un compito non banale, se non impossibile, da eseguire con il controllo wmp in Winforms.
Non conosco alcun modo per disegnare effettivamente il wmp ma è possibile disegnare su un pannello trasparente sovrapposto al wmp. Questo non funzionerà se il video è in riproduzione ma puoi mostrare il disegno mentre è in pausa. Ho usato questa tecnica per disegnare su un controllo video di terze parti che funziona in modo simile a wmp. (Modifica - questo non sembra funzionare con il controllo WMP)
Tuttavia, come i pannelli reali trasparenti sono anche piuttosto difficile in WinForms, un altro modo sarebbe quello di catturare un'immagine dal video e disegnare l'immagine sovrapposta . Di nuovo, solo quando è in pausa.
This controllo commerciale consente di disegnare sul video. Ha un evento che attiva ogni frame che è possibile utilizzare per fare il disegno. Il grande svantaggio, però, è che non si può davvero fare nulla di stravagante dato che la routine di disegno deve finire prima che venga disegnato il fotogramma successivo.
Vorrei fortemente incoraggiare l'utente a utilizzare WPF (anche se è un controllo wpf ospitato all'interno di un'app Winforms) per mostrare il video. È molto più facile disegnare su video (incluso il video) in wpf.
EDIT
Ho appena testato disegnare il WMP utilizzando un pannello trasparente e il suo non si comporta come ha fatto il mio controllo 3rd party, quindi vi suggerisco di fare la riproduzione video bit in WPF e host that in your winforms app. (Ho appena testato anche questo utilizzando @Callums suggerimento inkcanvas e funziona come un fascino)
fonte
2010-09-20 14:21:37
Vedere la mia nuova modifica: è sempre possibile utilizzare WPF per la finestra di modifica video e WinForms per il resto dell'applicazione. –