EDIT: Поскольку моя первоначальная проблема была вызвана моей ошибкой, я буду перефразировать этот вопрос.Копировать содержимое Hosted Silverlight Control
Я принимаю Silverlight в окне внутри своего приложения на C++ на основе кода, найденного here.
Теперь я хотел бы скопировать содержимое элемента управления в память, чтобы использовать содержимое внутри моего собственного средства визуализации. Проблема заключается в том, что когда я устанавливаю значение «EnableGPUAcceleration» в true, BitBlt перестает работать, все, что я получаю, это чернота.
Я считаю, что теоретически должен быть способ скопировать содержимое элемента управления Silverlight с ускорением GPU с его альфой, например. с чем-то вроде glReadPixels.
Кто-нибудь понял, как скопировать содержимое с помощью альфы безукраинского управления Silverlight с gpu-ускорением?
Другая проблема заключается в том, что окно должно быть видимым, и никакое другое окно не может перекрывать его, иначе я не получаю надлежащее содержимое. Я хочу, чтобы окно хостинга было невидимым.
Рабочий образец кода можно найти here (хотя без фактического бинта «ting», который я пытаюсь получить на работу).
У вас есть пример кода, который на самом деле демонстрирует вашу альфа-проблему? Поскольку управляемый элемент управления Silverlight CodeProject можно скопировать с помощью BitBlt, правильно? Или я чего-то не хватает? –
@Simon: Вы на самом деле правы. Мой тестовый код был неправильным. – ronag