Привет
Я занимаюсь созданием табло для игры (Starcraft II). Это табло создается как приложение WPF с кодом программной части C#. У меня уже есть версия, которая работает на 90% в WinForms, но мне не хватало поддержки, чтобы легко сделать ее намного лучше, которая доступна в WPF.
Суть этого приложения будет заключаться в том, чтобы сформировать своего рода наложение поверх запущенной игры. Эта игра находится в полноэкранном режиме (оконный режим), поэтому в WinForms я закодировал ее так, чтобы она всегда была сверху. Так и будет, и это не проблема.
Поскольку основной внешний вид приложения в WPF основан на изображении с прозрачным фоном, я установил для большинства значений фона значение «Прозрачный». Однако, когда я делаю это, все приложение не регистрируется потоковым программным обеспечением. Например, он просто показывает мой рабочий стол или игру, в которую я играю, но не мое приложение, хотя оно там ЕСТЬ. Я вижу это своими глазами, но зрители на стриме не могут.
Есть ли у кого-нибудь опыт в этом вопросе, потому что это действительно делает мне голову. Все мое приложение будет бесполезным, если его не видно в потоках. Если мне придется сделать фон цветным, а не прозрачным, пользовательский интерфейс также будет полностью разрушен с точки зрения внешнего вида.
Я в основном пытаюсь сделать наложение игры на С# и WPF. Я читал, что вы можете сделать это по-разному, но я практически не знаю C++ и ничего не знаю о DirectX.
Спасибо за ваше время чтения и ваши возможные идеи.
Редактировать: Лучшим решением будет наложение, подобное наложению Steam/Xfire/Dolby Axon.
Редактировать 2: мне не повезло со всеми предложениями, поэтому я в основном сделал прозрачные биты моего изображения непрозрачными и позволил пользователю решить, какой из них использовать, в зависимости от того, какое потоковое программное обеспечение они будут использовать.