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

•  Animation Loaders  976

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

•  TDictionary Custom Sort  7 859

•  Fast Watermark Sources  7 527

•  3D Designer  10 755

•  Sik Screen Capture  8 086

•  Patch Maker  8 285

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

•  ListBox Drag & Drop  7 176

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

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

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

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

•  Canvas Drawing  6 743

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

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

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

•  Paint on Shape  3 447

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

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

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

•  Пазл Numbrix  2 839

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

•  Игра HIP  2 556

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

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

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

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

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

•  HEX View  3 019

 
скрыть

  Форум  

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

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