Форум: "Игры";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизКак снять программно скриншот с экрана в 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 вся ветка
Форум: "Игры";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c