Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

Как сфоткать полупрозрачные окна   Найти похожие ветки 

 
i-s-v ©   (2004-08-01 13:34) [0]

Добрый день, мастера. Помогите!
Вот процедура, которая фоткает прямоугольную область ARect экрана и заносить скопированное в Bit. Вроде все просто... Проблема: не снимаются полупрозрачные окна под ХРюшею. Что делать?

procedure CaptureScreenRect(Bit: TBitmap; ARect: TRect);
var
 ScreenDC: HDC;
begin
 with Bit, 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;
   Palette := GetSystemPalette;
 end;
end;


 
i-s-v ©   (2004-08-01 16:12) [1]

Ну что, никто не знает?


 
Timedrops ©   (2004-08-01 16:20) [2]

вот так попробуй
ты копируешь ф-цией BitBlt
а в этом примере Canvas.CopyRect

procedure TScrnFrm.GrabScreen;
var
 DeskTopDC : HDc;
 DeskTopCanvas : TCanvas;
 DeskTopRect: TRect;
begin
 DeskTopDC := GetWindowDC(GetDeskTopWindow);
 DeskTopCanvas := TCanvas.Create;
 DeskTopCanvas.Handle := DeskTopDC;
 DeskTopRect := Rect(0,0,Screen.Width,Screen.Height);
 // Отображение рабочего стола на экранную форму с именем ScrnForm
 ScrnForm.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect);
 ReleaseDC(GetDeskTopWindow,DeskTopDC);
end;


 
GetWindowDC   (2004-08-01 16:21) [3]

Попробуй  GetWindowDC. GetDC возвращает клиентскую область, а  GetWindowDC - полностью окно.


 
GetWindowDC   (2004-08-01 16:23) [4]

Извиняйте, опоздал:)


 
i-s-v ©   (2004-08-02 11:28) [5]

Спасибо, попробую


 
i-s-v ©   (2004-08-02 12:40) [6]

Не, люди, не получается... Canvas.CopyRect аналогична StretchBlt... Как угодно уже пробовал...


 
i-s-v ©   (2004-08-02 12:41) [7]

Не, люди, не получается... Canvas.CopyRect аналогична StretchBlt... Как угодно уже пробовал...


 
i-s-v ©   (2004-08-04 02:53) [8]

NEED HELP!!!!



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.381 c
4-1088605120
Paulik
2004-06-30 18:18
2004.08.15
Странность в работе с DLL под Delphi и Visual Basic


14-1091097859
Piter
2004-07-29 14:44
2004.08.15
Комп виснет от перегрева


8-1085751676
Korneley
2004-05-28 17:41
2004.08.15
Нужно описание DirectShow


3-1090222404
GanibalLector
2004-07-19 11:33
2004.08.15
запрос


6-1087301720
Chery
2004-06-15 16:15
2004.08.15
Как подконектиться с внешней сети к серверу приложений (Сокет)