X-Git-Url: https://git.delphigl.com/?p=LazOpenGLCore.git;a=blobdiff_plain;f=examples%2FGrabScreen%2FGrabScreen.lpr;fp=examples%2FGrabScreen%2FGrabScreen.lpr;h=97acff5d00efbdf55265ac83a4e00ad5d7686d00;hp=c3b7b77574c258f20e4a20ec92925d0a5c13cc33;hb=c110c2d190cfdd632a622163d3edb7c9c90cf21a;hpb=fb955156e23a85973e7ee2f89954d90574982fef diff --git a/examples/GrabScreen/GrabScreen.lpr b/examples/GrabScreen/GrabScreen.lpr index c3b7b77..97acff5 100644 --- a/examples/GrabScreen/GrabScreen.lpr +++ b/examples/GrabScreen/GrabScreen.lpr @@ -14,7 +14,7 @@ var function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; var - tex: TglBitmap2D; + data: TglBitmapData; begin case Msg of WM_DESTROY: begin @@ -23,13 +23,15 @@ begin WM_KEYDOWN: begin if wParam = VK_RETURN then begin - tex := TglBitmap2D.Create; // create empty texture + data := TglBitmapData.Create; // create texture data object try - tex.GrabScreen(0, 0, 800, 600, tfRGB8ub3); // copy current framebuffer content to texture - tex.SaveToFile(ExtractFilePath(ApplicationName) + 'screen.bmp', ftBMP); // save texture to file + TglBitmap2D.GrabScreen(0, 0, 800, 600, tfRGBA8ui1, data); // read pixels from frame buffer + data.SaveToFile( // save data to file + ExtractFilePath(ApplicationName) + + 'screen.bmp', ftBMP); WriteLn('screen saved to screen.bmp'); finally - FreeAndNil(tex); + FreeAndNil(data); // free texture data object when done end; end; end;