Jul 22

Сохраняем скриншот экрана в различных форматах с помощью Дельфи

Представляю Вам показательный пример, как в среде программирования Дельфи делается скриншот самого экрана и сохраняется данное изображение

Аналогичный пример, с использованием уже компонента под названием Image, можно сделать скриншот и сберечь изображение в bmp- формате.

Пример кода:

var

bmp : TBitmap;

begin

bmp := TBitmap.Create;

bmp.Width := Screen.Width;

bmp.Height := Screen.Height;

BitBlt(bmp.Canvas.Handle, 0,0, Screen.Width, Screen.Height, GetDC(0), 0,0,SRCCOPY);

Image.Width := Screen.Width;

Image.Height := Screen.Height;

Image.Picture.Assign(bmp);

Image.Picture.SaveToFile('Screenshot.bmp');

bmp.Free;

end;

А приведенный ниже пример без самого использования именно компонента Image делать нам будет скриншот и опосля сохранять изображение в bmp-формате

Код:

function Screenshot: TBitmap;

var

dw: HWND;

dc: HDC;

begin

Result := TBitmap.Create;

Result.Width := Screen.Width;

Result.Height := Screen.Height;

dw := GetDesktopWindow;

dc := GetDC(dw);

BitBlt(Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, dc, 0, 0, SRCCOPY);

ReleaseDC(dw, dc);

Result.SaveToFile('Screenshot.bmp');

end;

А теперь, представлю на ваше рассуждение пример кода без использования компонента под названием Image. В данном случае скриншот делатся будет, а само изображение сохраняется в jpg- формате.

uses jpeg;

var

DC : HDC;

bmp : TBitmap;

jpgImg: TJPEGImage;

begin

bmp := TBitmap.Create;

jpgImg := TJPEGImage.Create;

bmp.Height := Screen.Height;

bmp.Width := Screen.Width;

DC := GetDC(0);

bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC, 0, 0, SRCCOPY);

ReleaseDC(0, DC);

jpgImg.Assign(bmp);

jpgImg.CompressionQuality:=100;

jpgImg.SaveToFile('Screenshot.jpg');

jpgImg.Free;

bmp.Free;

end;

Спонсор поста: компания good-host.net предоставляет для своих клиентов качественный и дешевый хостинг. Только у нас вы получаете хороший хостинг за небольшие деньги!


Поделитесь вашими мыслями

Поддерживаемые теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>