Вниз
Скачать: CL | DM;

Как снять программно скриншот с экрана в FullScreen DirectX?   Найти похожие ветки 

 
AlexT1000 ©   (2003-10-02 12:26) [0]

И сохранить его как кусок памяти.


 
cyborg ©   (2003-10-02 15:22) [1]

Surface.Lock

TDDSurfaceDesc.lpSurface возвращаемое функцией будет содержать адрес графических данных, их и сливай.


 
NailMan ©   (2003-10-02 16:18) [2]

Если в D3D, то

var DestSurface:IDirect3DSurface8;

IDirect3DDevice8.GetFrontBuffer(DestSurface);
D3DXSaveSurfaceToFile("xxx.bmp",D3DXIFF_BMP,DestSurface,nil,nil);

Канает только с заголовками d3d 8.1 и выше.

если ddraw то нынаю - гемор наверно.


 
cyborg ©   (2003-10-02 16:57) [3]

Да, нужно заметить, что [1] cyborg ©   (02.10.03 15:22) для DirectDraw.


 
AlexT1000 ©   (2003-10-03 12:00) [4]

Делаю так ,

IDirect3DSurface9* DestSurface =NULL;
if (m_pd3dDevice->GetFrontBufferData(0,DestSurface) == D3DERR_INVALIDCALL)
{
return ;
}
но мне все время выдает эту ошибку D3DERR_INVALIDCALL не пойму что я делаю не так?!


 
NailMan ©   (2003-10-03 13:24) [5]

Точно не помню(исходники с игрой дома), но вроде надо либо создать эту поверхность(а мож и не надо), или номер swapchain указывай не 0, а 1.

И еще не стоит забывать, что:
"For windowed mode, the size of the destination surface should be the size of the desktop. For full-screen mode, the size of the destination surface should be the screen size."


 
AlexT1000 ©   (2003-10-03 14:23) [6]

указывал и 1 . нифига

а вот из второй части вреде следует , что типа нужно всетаки эту поверхность создать.

Не могу найти функцию ,которая создает сюрфасе. вчера нашел но не помню как называется. как создать сюрфасе?


 
Sapersky ©   (2003-10-04 11:47) [7]

как создать сюрфасе

IDirect3DDevice8.CreateImageSurface

Или использовать IDirect3DDevice8.GetBackBuffer, там вроде создавать поверхность не надо (возвращается указатель на существующий surface).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
6-1076087886
Djon007
2004-02-06 20:18
2004.04.11
Как превратьть это в робочее состояние?


3-1078999104
kvi
2004-03-11 12:58
2004.04.11
TClientDataSet


6-1075611081
@ac
2004-02-01 07:51
2004.04.11
Разрыв соединения с инетом


6-1075633462
димка
2004-02-01 14:04
2004.04.11
Как определить номер подключения


6-1079105001
moor38
2004-03-12 18:23
2004.04.11
Как в сети по IP адресу узнать имя машины?




   Наверх