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

•  DeLiKaTeS Tetris (Тетрис)  3 960

•  TDictionary Custom Sort  6 067

•  Fast Watermark Sources  5 867

•  3D Designer  8 690

•  Sik Screen Capture  6 191

•  Patch Maker  6 623

•  Айболит (remote control)  6 620

•  ListBox Drag & Drop  5 476

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

•  Графические эффекты  6 826

•  Рисование по маске  6 019

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

•  Canvas Drawing  5 374

•  Рисование Луны  5 100

•  Поворот изображения  4 639

•  Рисование стержней  3 277

•  Paint on Shape  2 519

•  Генератор кроссвордов  3 410

•  Головоломка Paletto  2 723

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

•  Пазл Numbrix  2 313

•  Заборы и коммивояжеры  2 998

•  Игра HIP  1 956

•  Игра Go (Го)  1 872

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

•  Программа укладки плитки  1 937

•  Генератор лабиринта  2 375

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

•  HEX View  2 384

•  Физический маятник  2 018

 
скрыть

  Форум  

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-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

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