Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как сохранить содержимое экрана в файл

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

Как сохранить содержимое экрана в файл

10 стадий утреннего похмелья для программиста (заметки монитора).
1. Созерцательная. Смотрит в монитор чистыми прозрачными глазами, ничего не предпринимает, никуда не нажимает, изредка в изумлении произносит, глядя в экран: "Вот это да, кто бы мог подумать!" Компьютер выключен из розетки.
2. Деятельная. С подозрением и прищуром смотрит на клавиатуру, раскачиваясь всем телом, потом резким движением выбрасывает руку, пытаясь нажать на искомую кнопку. В случае удачного попадания кричит "Е-ху!!!", в случае неудачного попадания сносит монитор к едрене фене, при этом добродушно ворчит "ну вот третий раз за сегодня"
3. Угрюмая. Понуро сидит перед компьтером, пытаясь не совершать резких движений. Набирает текст на клавиатуре языком головы и двумя руками держится за мышку, чтобы не опрокинуться с кресла... Как оказалось, напрасно.
4. Автомобильная. Пытается завести компьютер автомобильными ключами, присобачить магнитолу на панель компьютера, и включить дворники, потому что "ни хр@на не видно, а ехать надо".
5. Развлекательная. Играет в Quake, причем из всех видов оружия предпочитает собственные руки и дерется с монитором, угрожает компьютеру вернуться завтра с друзьями-каратистами, и отп*здить его так, что "мама" не распознает.
6. Террористическая. После очередной попытки разлепить глаза, в ужасе кричит, что компьютер заминирован, потому что в правом нижнем углу тикают часы, и ныряет под стол.
7. Государственная. На предложение "Введите свой пароль" орет в компьютер: "Ах сука, ты меня, что ли не узнаешь?", показывает монитору язык, неприличные жесты и удостоверение помощника депутата Государственной Думы.
8. Оптимистическая. Весел, игрив, обращается с компьютером на равных. Прочитав страничку BK.list.ru, также вспоминает пару забавных историй и рассказывает их монитору. Потом они вместе пьют пиво, компьютер отхлебывает дисководом.
9. Униксовая. ...выключает компьютер, две минуты пьет пиво, снова включает, дожидается заставки и в тоске произносит "Опять винды, ненавижу Гейтса", выключает компьютер, две минуты пьет пиво, снова включает...
10. Успокоительная. Долго по слогам читает с экрана "Теперь питание компьютера можно отключить", после чего, мягко улыбаясь, говорит "Спасибо" и засыпает на клавиатуре.


procedure TForm1.Button1Click(Sender: TObject);
var
  DC: HDC;
  Canva: TCanvas;
  B: TBitmap;
begin
  Canva := TCanvas.Create;
  B := TBitmap.Create;
  DC := GetDC(0);
  try
    Canva.Handle := DC;
    with Screen do
    begin
      B.Width := Width;
      B.Height := Height;
      B.Canvas.CopyRect(Rect(0, 0, Width, Height),
      Canva, Rect(0, 0, Width, Height));
      B.SaveToFile('c:\Мои документы\screentofile.bmp');
    end
  finally
    ReleaseDC(0, DC);
    B.Free;
    Canva.Free
  end
end;

Код, предоставленный ниже, - это процедура на языке Delphi (основанном на Pascal), которая захватывает содержимое экрана и сохраняет его в файле BMP.

Вот шаг за шагом, что код делает:

  1. Создается экземпляр TCanvas и TBitmap.
  2. Получается контекст устройства (HDC) основного монитора с помощью функции GetDC(0).
  3. Контекст устройства присваивается объекту TCanvas.
  4. Проводится цикл по каждому экрану (используя объект Screen) и копируются содержимое канваса в новый битмап (B) с помощью метода CopyRect.
  5. Битмап сохраняется в файле, названном "screentofile.bmp", в директории "c:\Мои документы\".

Код обернут в блок try-finally, который обеспечивает освобождение ресурсов (например, контекста устройства и битмапов) даже если возникает исключение.

Чтобы запустить этот код, вам нужно:

  1. Создать новый проект Delphi.
  2. Добавьте кнопку на форме.
  3. Перетаскивайте кнопку дважды, чтобы создать обработчик события OnClick.
  4. Вставьте код в обработчик события.
  5. Запустите программу и нажмите кнопку.

Это захватит содержимое экрана и сохранит его в указанном файле.

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

Статья "Как сохранить содержимое экрана в файл" описывает способ сэмплирования изображения компьютерного экрана и его последующей записи в файл с помощью Delphi.


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

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


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


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:03:12/0.0060770511627197/1