Недавно добавленные исходники

•  Animation Loaders  1 050

•  DeLiKaTeS Tetris (Тетрис)  5 984

•  TDictionary Custom Sort  7 920

•  Fast Watermark Sources  7 579

•  3D Designer  10 819

•  Sik Screen Capture  8 157

•  Patch Maker  8 345

•  Айболит (remote control)  8 396

•  ListBox Drag & Drop  7 251

•  Доска для игры Реверси  101 484

•  Графические эффекты  8 453

•  Рисование по маске  7 818

•  Перетаскивание изображений  6 411

•  Canvas Drawing  6 796

•  Рисование Луны  6 730

•  Поворот изображения  5 834

•  Рисование стержней  4 780

•  Paint on Shape  3 477

•  Генератор кроссвордов  4 493

•  Головоломка Paletto  3 618

•  Теорема Монжа об окружностях  4 407

•  Пазл Numbrix  2 859

•  Заборы и коммивояжеры  3 809

•  Игра HIP  2 578

•  Игра Go (Го)  2 593

•  Симулятор лифта  2 972

•  Программа укладки плитки  2 402

•  Генератор лабиринта  3 154

•  Проверка числового ввода  2 637

•  HEX View  3 047

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Копирование экрана 2




// Для копирования изображения, находящегося в клиентской части
// формы есть метод GetFormImage. Для копирования любого
// прямоугольника экрана можно воспользоваться функциями GDI.

// Копирование произвольной прямоугольной области экрана
Function CaptureScreenRect( ARect: TRect ): TBitmap;
var
  ScreenDC: HDC;
begin
  Result := TBitmap.Create;
  with Result, ARect do
  begin
    Width := Right - Left;
    Height := Bottom - Top;

    // получаем для экрана контекст устройства
    ScreenDC := GetDC( 0 );
    try
      // копируем оттуда прямоугольную область на канву
      // растрового изображения
      BitBlt( Canvas.Handle, 0, 0, Width, Height, ScreenDC,
        Left, Top, SRCCOPY );
    finally
      ReleaseDC( 0, ScreenDC );
    end;
  end;
end;

// Таким образом, задавая нужный прямоугольник, можно получить
// изображение любой части экрана, получить изображение любого
// элемента формы(кнопок , выпадающих списков и так далее).

// Пример для копирования нужного элемента формы или всей формы,
// включая и заголовок и рамку:
Function CaptureControlImage( Control: TControl ): TBitmap;
begin
  with Control do
    IF Parent = nil Then
      Result := CaptureScreenRect( Bounds( Left, Top, Width,Height ))
    Else
    With Parent.ClientToScreen( Point( Left, Top )) DO
      Result := CaptureScreenRect( Bounds( X, Y, Width,Height ));
end;






Похожие по теме исходники

Хранитель экрана Папины Дочки

Передача удаленного экрана по сети (Remote Screen)




Copyright © 2004-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

Группа ВКонтакте