Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kirm
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 26
#1

Скриншот игры, не получается - C++

13.07.2012, 00:39. Просмотров 731. Ответов 0
Метки нет (Все метки)

Здравствуйте, помогите сделать средствами C++ скриншот игры, а именно мне нужен скрин от Diablo 3, но думаю это не играет роли, скрин любой современной игры думаю делается одинаково.

Стандартный вариант через winapi как следовало ожидать не работает. Также пробовал через directx, рабочий стол принтит прекрасно, но если сделать принт во время игры (функция принта вызывается на горячую кнопку) то делается скрин голого рабочего стола. Помогите, в чем дело? Вот код, который пробовал:

C
1
2
3
4
5
    IDirect3DSurface9* pSurface;
    g_pDirect3DDevice->CreateOffscreenPlainSurface(1280, 1024, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, &pSurface, NULL);
    g_pDirect3DDevice->GetFrontBufferData(0, pSurface);
    D3DXSaveSurfaceToFile("C://d3/Desktop.bmp", D3DXIFF_BMP, pSurface, NULL, NULL);
    pSurface->Release();
Еще пробовал несколько иную вариацию, но результат тот же

C
1
2
3
4
5
6
7
8
9
10
    LPDIRECT3DSURFACE9 FrontBuff;
    D3DSURFACE_DESC SurfaceDesc;
    D3DDISPLAYMODE DisplayMode;
    D3DLOCKED_RECT Rect;
 
    g_pDirect3DDevice->GetDisplayMode(D3DADAPTER_DEFAULT, &DisplayMode);
 
    g_pDirect3DDevice->CreateOffscreenPlainSurface(DisplayMode.Width, DisplayMode.Height, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &FrontBuff, NULL);
    g_pDirect3DDevice->GetFrontBufferData(D3DADAPTER_DEFAULT, FrontBuff);
    D3DXSaveSurfaceToFile( "C://d3/screenshot.jpg", D3DXIFF_JPG, FrontBuff, NULL, NULL);
Помогите пожалуйста, как быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2012, 00:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скриншот игры, не получается (C++):

Скриншот - C++
с помощью какой библиотеке можно сделать скриншот экрана? я так предполагаю нужно в сторону winapi ? но куда именно?

Скриншот экрана - C++
Мне нужно сделать скриншот экрана (того, что видит юзер ежесекундно). Перерыл уже кучу форумов, но не нашел подходящего + понятного. Кто...

скриншот экрана! - C++
нужно сделать захват экрана. и сохранить его в файл. порывшись в просторах форума, выяснил что для решения данной задачи существует куча...

Скриншот экрана - C++
Всем привет как в visual studio мне сделать скриншот экрана, а потом смотреть цвет пикселей в указанных координатах на фотографии? Или как...

Скриншот программно. - C++
Добрый вечер. Сделал скриншот программно: void __fastcall TForm1::Button2Click(TObject *Sender) { HDC hdc = GetDC(0); if...

Скриншот окна программы - C++
Требуется при нажатии (например, кнопки "s"), чтобы делался скриншот окна программы (командной строки) и сохранялся в определенную...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2012, 00:39
Привет! Вот еще темы с ответами:

Скриншот, работа с bmp - C++
Возникла необходимость создания скриншота неактивого окна. В результате долгих поисков, по гуглу я наткнулся на следующий рабочий код: ...

Скриншот в файл + итерации - C++
В чем задача: После некой операции, программа должна сохранять всё, что есть на экране в файл. Много раз. Точнее вбить одну функцию с...

Клиент-сервер , скриншот - C++
Нужно написать на Си++ программу - клиент-сервер, в которой при нажатии кнопки у клиента, сервер делает у себя скриншот и пересылает его на...

Скриншот раб стола + видео - C++
Как сделать скриншот рабочего стола и чтоб видео на нем было б изображено черным квадратом?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru