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

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

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

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

13.07.2012, 00:39. Просмотров 708. Ответов 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++ Скриншот программно.
Скриншот окна программы C++
C++ Скриншот, работа с bmp
Скриншот раб стола + видео C++
Вылетает окошко. (Скриншот прилагается) C++
C++ Скриншот экрана
C++ Скриншот экрана
Скриншот в файл + итерации C++
C++ скриншот экрана!
Скриншот C++
C++ Сделать скриншот рабочего стола

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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