EDIT: Poiché il mio problema originale era dovuto al mio errore, riformulerò questa domanda.Copia contenuto del controllo Silverlight ospitato
Im hosting di Silverlight in una finestra all'interno dell'applicazione C++ basata sul codice trovato here.
Ora mi piacerebbe copiare il contenuto del controllo in memoria per utilizzare il contenuto all'interno del mio riproduttore. Il problema che ho è che quando imposto "EnableGPUAcceleration" su true, BitBlt smette di funzionare, tutto quello che ottengo è l'oscurità.
Ritengo che in teoria ci dovrebbe essere un modo per copiare il contenuto di un controllo Silverlight accelerato dalla GPU con il suo alfa, ad es. con qualcosa come glReadPixels.
Qualcuno ha idea di come copiare il contenuto con alfa di un controllo Silverlight con accelerazione gpu senza finestra?
Un altro problema è che la finestra deve essere visibile e nessun'altra finestra potrebbe sovrapporsi, altrimenti non otterrò il contenuto corretto. Vorrei che la finestra di hosting fosse invisibile.
codice di esempio di lavoro può essere trovato here (anche se senza il BitBlt vero e proprio "ting" che sto cercando di andare al lavoro).
Avete un codice di esempio che dimostra effettivamente il vostro problema alfa? Perché il controllo Silverlight ospitato da CodeProject può essere copiato correttamente con BitBlt, giusto? O mi sta sfuggendo qualcosa? –
@Simon: hai ragione. Il mio codice di test non era corretto. – ronag