Как скопировать экран (или его часть) в TBitmap

Советы » Монитор и Экран » Как скопировать экран (или его часть) в TBitmap

Например, с помощью WinAPI так -

var

bmp: TBitmap; DC: HDC; begin

bmp:=TBitmap.Create; bmp.Height:=Screen.Height; bmp.Width:=Screen.Width; DC:=GetDC(0); //Дескpиптоp экpана bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC, 0, 0, SRCCOPY); bmp.SaveToFile('Screen.bmp'); ReleaseDC(0, DC); end

;

Или с помощью обертки TCanvas -

Объект Screen[.width,height] - размеры

Var

Desktop: TCanvas ; BitMap: TBitMap; begin

DesktopCanvas:=TCanvas.Create; DesktopCanvas.Handle:=GetDC(Hwnd_Desktop); BitMap := TBitMap.Create; BitMap.Width := Screen.Width; BitMap.Height:=Screen.Height; Bitmap.Canvas.CopyRect(Bitmap.Canvas.ClipRect, DesktopCanvas, DesktopCanvas.ClipRect); ........ end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com