Главная страницаОбратная связьКарта сайта

Как скопировать экран (или его часть) в 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;


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Как скопировать экран (или его часть) в TBitmap", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info