Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Сохранение изображения экрана в файле (2)

Delphi , ОС и Железо , Монитор и Экран

Сохранение изображения экрана в файле (2)

Code:

program ScrShop;
 
uses
Windows;
 
procedure ApiScrCapture(FileName: String);
type
  TScr = array [0..1] of Byte;
  PScr = ^TScr;
var
  hBmp       : hBitmap;
  DeskDC     : hDC;
  DC         : hDC;
  BFH        : BITMAPFILEHEADER;
  BIH        : tagBITMAPINFO;
  ScrX, ScrY : Integer;
  F          : File;
  ScrSize    : Cardinal;
  Bits       : PScr;
begin
  SCRX     := GetSystemMetrics(SM_CXSCREEN);
  SCRY     := GetSystemMetrics(SM_CYSCREEN);
  ScrSize  := ScrX * ScrY * 3;
 
  GetMem(Bits, ScrSize);
 
  DeskDC   := GetDC(0);
  hBmp     := CreateCompatibleBitmap(DeskDC, ScrX, ScrY);
  DC       := CreateCompatibleDC(DeskDC);
 
  SelectObject(DC, hbmp);
  BitBlt(DC, 0, 0, SCRX, SCRY, DeskDC, 0, 0, SrcCopy);
 
 with BFH do
 begin
    bfType      := $4D42;
    bfSize      := SCRX * SCRY * 3 + SizeOf(BFH) + SizeOf(BIH);
    bfReserved1 := 0;
    bfReserved2 := 0;
    bfOffBits   := SizeOf(BFH) + SizeOf(BIH);
 end;
 
 with BIH.bmiHeader do
 begin
   biSize         := sizeof(BIH);
   biWidth        := SCRX;
   biHeight       := SCRY;
   biPlanes       := 1;
   biBitCount     := 24;
   biCompression  := BI_RGB;
   biSizeImage    := ScrSize;
   biClrImportant := 0;
 end;
 
  GetDiBits(DC, hbmp, 0, SCRY, Bits, BIH, DIB_RGB_COLORS);
  DeleteObject(hbmp);
  AssignFile(F, FileName);
  Rewrite(F, 1);
  Blockwrite(F, BFH, SizeOf(BFH));
  Blockwrite(F, BIH, SizeOf(BIH));
  Blockwrite(F, bits^, ScrSize);
  CloseFile(F);
  FreeMem(Bits);
end;
 
begin
  ApiScrCapture('1.bmp');
end.
Автор: Arazel
Взято из http://forum.sources.ru

Статья Сохранение изображения экрана в файле (2) раздела ОС и Железо Монитор и Экран может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Монитор и Экран ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
28.03.2024 13:07:34/0.032938003540039/0