Войти
ПрограммированиеФорумГрафика

[WinAPI] BitBlt из d3d окна (2 стр)

Страницы: 1 2
#15
13:38, 11 дек. 2017

Suslik
> я его могу создать, как захочу, но обращаться к нему из участка кода, который
> копирует изображение, не могу
Создать то можно, если вызывать нельзя то тады наверное никак не получить HDC корректный с D3D11 окна :(. может есть еще какие -нибудь костыльные решения.

#16
14:27, 11 дек. 2017

Вообще то, в винде не предполагается, что из любого контекста можно считать пиксели. Из контекста принтера нельзя, к примеру. Чем хуже контексты от посторонней аппаратуры, которой по сути является ускоритель? С чтением из контекста вебкамеры тоже наверняка проблемы будут. Иногда проблемы разрешимые, но не стоит полагать что они разрешимы всегда.

#17
14:50, 11 дек. 2017

Suslik
Есть вариант подсунуть свой врапнутый d3d9.dll.

#18
20:37, 11 дек. 2017

У OBS Studio несколько вариантов, один из них это monitor capture, вроде вот это https://msdn.microsoft.com/library/windows/desktop/hh404487.aspx

Полноэкранные игры согласно их докам ловятся только через вариант game capture, а именно создание своего потока в процессе игры и все что из этого следует.

Прошло более 1 года
#19
4:55, 24 авг. 2019

Suslik

Ап.
Как решил вопрос?

#20
(Правка: 9:09) 9:06, 24 авг. 2019

Хаус
Как вариант, попробовать найти девайс по сигнатуре - в читах так и делают. Можно каким нибудь Detours попробовать хукнуть Present и рисовать куда тебе надо.

#21
12:07, 24 авг. 2019

Suslik
Ответ уже в нуль посте. Захватываешь весь экран, получаешь координаты окна и обращаешь по этим координатам изображение

#22
18:07, 25 авг. 2019

Хаус
> Ап.
> Как решил вопрос?
никак. без снятия скриншота всего экрана я так и не нашёл способа это сделать.

#23
18:41, 25 авг. 2019

Suslik
> без снятия скриншота всего экрана я так и не нашёл способа это сделать.
Скриншот тоже может не помочь. На нем дырки бывают на месте прямоугольников, генерируемых какой-нибудь аппаратурой. Оно контекст, но без возможности чтения пикселей. Это штатная ситуация, хоть и не слишком частая сейчас, раньше чаще встречалась.

#24
18:42, 25 авг. 2019

Zab
> Скриншот тоже может не помочь. На нем дырки бывают на месте прямоугольников,
> генерируемых какой-нибудь аппаратурой. Оно контекст, но без возможности чтения
> пикселей. Это штатная ситуация, хоть и не слишком частая сейчас, раньше чаще
> встречалась.
это называется color key. проблема не в нём.

#25
15:55, 26 авг. 2019

Suslik
> > Скриншот тоже может не помочь. На нем дырки бывают на месте прямоугольников,
> > генерируемых какой-нибудь аппаратурой. Оно контекст, но без возможности
> > чтения
> > пикселей. Это штатная ситуация, хоть и не слишком частая сейчас, раньше чаще
> > встречалась.
> это называется color key. проблема не в нём.

не обязательно, если выставить WDA_MONITOR то будет черный прямоугольник на скрине, можно еще пропатчить dwm.exe CWindowNode::RenderBlackImage и тогда окно будет отображаться только на мониторе что некоторые юзают для оверлей читов :D

Страницы: 1 2
ПрограммированиеФорумГрафика