抓获全屏

页面导航:首页 > 软件编程 > Delphi > 抓获全屏

抓获全屏

来源: 作者: 时间:2016-02-05 11:47 【

根据Windows GDI与设备无关的特点,利用BitBlt或StretchBlt函数将显示设备上的位数据传输到目标设备上,然后在目标设备上创建兼容位图: SourceDC:=CreateDC(′DISPLAY′,′′,′′,nil);{创建源设

 

根据Windows GDI与设备无关的特点,利用BitBlt或StretchBlt函数将显示设备上的位数据传输到目标设备上,然后在目标设备上创建兼容位图:

SourceDC:=CreateDC(′DISPLAY′,′′,′′,nil);{创建源设备环境,DISPLAY为显示器}

DestDC:=CreateCompatibleDC(SourceDC);

{创建和SourceDC兼容的目标设备环境}

BHandle:=CreateCompatibleBitmap(SourceDC,Screen.Width,Screen.Height) ;

{创建一个和SourceDC兼容的内存设备环境,并返回其设备句柄}

SelectObject(DestDC,BHandle);

BitBlt(DestDC,0,0,Screen.Width,Screen.Height,SourceDC,0,0,SRCCOPY) ;

{抓图}

Bitmap:=TBitmap.Create;

{Bitmap为TBitmap类型}

Bitmap.Handle:=BHandle;

Bitmap.SaveToStream(′C:My DocumentsFullScreen.bmp′) ;{保存到文件}

DeleteDC(DestDC) ;

ReleaseDC(BHandle,SourceDC) ;

{释放设备环境}

以上程序中,各设备环境的数据类型为Integer。

 

Tags:

相关文章

    文章评论

    最 近 更 新
    热 点 排 行
    Js与CSS工具
    代码转换工具
    
    <