Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Handle - > bmp   Найти похожие ветки 

 
Ozone ©   (2004-04-05 11:47) [0]

Если у меня есть HANDLE окна, то как получить его изображение?


 
Семен Сорокин ©   (2004-04-05 11:54) [1]

FindControl(Handle).PaintTo();


 
Ozone ©   (2004-04-05 12:13) [2]

Выдает "...Access violation ...".

Делаю так:


var
  hWndC: THandle;
begin
  hWndC := capCreateCaptureWindow(...);
  {...}
  FindControl(hWnd).PaintTo(MainForm.Canvas, 0, 0);
end;


В чем я не прав?


 
Семен Сорокин ©   (2004-04-05 12:23) [3]

Окно должно быть наследником TWinControl


 
Ozone ©   (2004-04-05 12:27) [4]

Сделал - все без ошибок, но на Canvas"e пустой прямоугольник...
(хотя в этом окне я четко вижу картинку)

ЗЫ: картинка с Web-камеры


 
VMcL ©   (2004-04-05 12:37) [5]

>>Ozone ©  (05.04.04 12:13) [2]

Так нельзя, окно ж не в твоей VCL-программе создано.
Попробуй как-то так:

procedure GetScrShot(const Win: HWND);
var
 Bmp: TBitmap;
 DC: HDC;
 R: TRect;
begin
 with TBitmap.Create do
 try
   DC := GetWindowDC(Win);
   try
     GetWindowRect(Win, R);
     Width := R.Right - R.Left;
     Height := R.Bottom - R.Top;
     BitBlt(Canvas.Handle, 0, 0, Width, Height,
       DC, 0, 0, SRCCOPY);
   finally
     ReleaseDC(Win, DC);
   end;
   SaveToFile("C:\_ScrShot.bmp");
 finally
   Free;
 end;
end;


 
Ozone ©   (2004-04-05 14:43) [6]

TO VMcL ©:

Спасибо - работает. А можно ли как нить в JPEG засунуть?


 
VMcL ©   (2004-04-05 15:10) [7]

>>Ozone ©  (05.04.04 14:43) [6]

Лентяй ты. Примеры в Delphi7/Help/Examples/ слабо глянуть?

procedure GetScrShot(const Win: HWND);
var
 Bmp: TBitmap;
 Jpg: TJpegImage;
 DC: HDC;
 R: TRect;
begin
 Bmp := TBitmap.Create;
 with Bmp do
 try
   DC := GetWindowDC(Win);
   try
     GetWindowRect(Win, R);
     Width := R.Right - R.Left;
     Height := R.Bottom - R.Top;
     BitBlt(Canvas.Handle, 0, 0, Width, Height,
       DC, 0, 0, SRCCOPY);
   finally
     ReleaseDC(Win, DC);
   end;
   Jpg := TJPEGImage.Create;
   try
     Jpg.Grayscale := False;
     Jpg.CompressionQuality := 80;
     Jpg.Performance := jpBestQuality;
     Jpg.ProgressiveDisplay := False;
     Jpg.PixelFormat := jf24Bit;
     Jpg.Assign(Bmp);
     Jpg.SaveToFile("C:\_ScrShot.jpg");
   finally
     Jpg.Free;
   end;
 finally
   Free;
 end;
end;


 
Ozone ©   (2004-04-05 15:19) [8]

Спасибо... с меня много пива.


 
VMcL ©   (2004-04-05 15:55) [9]

>>Ozone ©  (05.04.04 15:19) [8]

Почтовый адрес писать?
Новосибирск - Киев: никаких оплат за счет абонента! :)


 
Ozone ©   (2004-04-05 16:19) [10]

Лучше приезжай.


 
VMcL ©   (2004-04-05 17:27) [11]

>>Ozone ©  (05.04.04 16:19) [10]

>Лучше приезжай.
Наверно... в следующей жизни... когда я стану кошкой, ла-ла-ла-ла.


 
Romkin ©   (2004-04-05 17:28) [12]

Yess!!! 2VMcL Поздравляю :)))


 
McSimm ©   (2004-04-05 17:28) [13]

:)


 
VMcL ©   (2004-04-05 17:36) [14]

>>Romkin ©  (05.04.04 17:28) [12]
>>McSimm ©  (05.04.04 17:28) [13]

Угу, типа спасибо :)
И всё-таки http://delphimaster.net/view/15-1081172037/ ?



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

Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.027 c
1-1081699962
tivispider
2004-04-11 20:12
2004.04.25
Как поймать нажатие Ctrl + z?


3-1080797779
LEXX
2004-04-01 09:36
2004.04.25
Где базы?


14-1081107526
Reeg
2004-04-04 23:38
2004.04.25
Отчеты


4-1077119679
Subdigger
2004-02-18 18:54
2004.04.25
TTreeView - ScrollBox


1-1081159122
Chereepovets
2004-04-05 13:58
2004.04.25
HKEY_CURRENT_USER, Что за глюк





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский