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

•  Animation Loaders  862

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

•  TDictionary Custom Sort  7 771

•  Fast Watermark Sources  7 443

•  3D Designer  10 673

•  Sik Screen Capture  7 993

•  Patch Maker  8 199

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

•  ListBox Drag & Drop  7 062

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

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

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

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

•  Canvas Drawing  6 677

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

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

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

•  Paint on Shape  3 397

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

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

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

•  Пазл Numbrix  2 801

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

•  Игра HIP  2 519

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

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

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

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

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

•  HEX View  2 977

 
скрыть

  Форум  

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

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