PDA

Просмотр полной версии : [Скрипт] Делаем скриншот в Delphi


Tem1q
06.12.2010, 00:03
var
Form1: TForm1;
JpegIm: TJpegImage; // Подключаем переменую дял работы с jpg
bm: TBitMap; // Получать изображение экрана будим в битамп
i:integer;

begin
if getasynckeystate(ord('7'))<>0 then begin // Проверяя нажата ли клавиша
// Если клавиша 7 нажата, то будим делать скрин
i:=i+1; // Текущий номер скрина
bm := TBitMap.Create; // Инициализируем новое изображение
bm.Width := Screen.Width; // Определяем длину,
bm.Height := Screen.Height; // и ширину окна чтобы узнать размеру области, которую мы будим копировать
BitBlt(bm.Canvas.Handle, 0, 0,
bm.Width, bm.Height,
GetDC(0), 0, 0, SRCCOPY); // Скопировали :)
JpegIm := TJpegImage.Create; // Теперь создаём новую картинку...
JpegIm.Assign(bm); // Открываем
JpegIm.CompressionQuality :=100 ; // 100% качество, нам не нужно сжатие
JpegIm.Compress; // говорим что не хотим ничего сжимать)
JpegIm.SaveToFile('C:\scr'+IntToStr(i)+'.jpg'); // Скидываем изображение в файл
bm.Destroy; // Очищаем буфер битмапа
JpegIm.Destroy; // и обнуляем картинку