Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Как захватить часть экрана?


Автор: delpher_g 5.5.2007, 21:00
Здравствуйте, ув. господа программисты. Помогите начинающему.
Мне нужно скопировать часть экрана и загрузить это всё из памяти в компонент TImage, потом это всё распечатать на принтере.
Как скопировать весь экран я знаю, а вот как скопировать выделенную часть и загрузить из памяти в компонент TImage не знаю.
Если кто в курсе как это сделать, будьте добры, подскажите и если возможно с примерами. Может быть есть какие-то компоненты для таких целей.
Заранее благодарю всех откликнувшихся.

Автор: Alexeis 6.5.2007, 12:58
Цитата(delpher_g @  5.5.2007,  21:00 Найти цитируемый пост)
Мне нужно скопировать часть экрана и загрузить это всё из памяти в компонент TImage, потом это всё распечатать на принтере.

  Если часть экрана это окно целой программы, то можно, иначе прийдется копировать весь экран, а затем вырезать один его фрагмент. Canvas.CopyRect() Для того чтобы скопировать только окно нужной программы нужно вместо GetDC(0) вызвать GetDC(handle); где handle - это дескриптор нужного окна.
  Для работы с принтером нужно подключить модуль printers, и скопировать изображение на канву принтера. 

Код

  printer.BeginDoc;
  printer.Canvas.CopyRect(....);
  printer.EndDoc;


  Вообще, советую почитать вот это http://www.drkb.ru/ . Тут есть большинство ответов на простые вопросы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)