![]() |
|
#1
|
|||
|
|||
![]() Добрый день ув. люди
![]() п.с. форум читал, но нужного ответа так и не нашел. п.п.с был бы благодарен примеру получения скрина через directx в данный момент получаю скрин так: Код:
procedure TForm1.FormCreate(Sender: TObject); begin b:=TBitmap.Create; b.Width:=105; b.Height:=105; MainDC:=GetDC(0); end; procedure TForm1.FormDestroy(Sender: TObject); begin b.Free; ReleaseDC(MainDC,0); end; procedure TForm1.Timer1Timer(Sender: TObject); begin BitBlt(b.Canvas.Handle,0,0,105,105,MainDC,0,0,SrcCopy); end; ![]() |
#2
|
||||
|
||||
![]() С DirectDraw не делал, но попробовал делать по твоему принципу, 25 кадров/сек, гонит проца на 30 процентов. Если это делать с помощью FastStone Capture (10 кадров/сек), но еще и с конвертацией в AVI, - 95-97%. Все делалось на фуллскрине. DirectDraw, ИМХО, мало что даст. Все-таки это работа не с видеопамятью, а с оперативной. Возможно, в Win Vista/Win 7 с помощью DirectX 10/11 можно и побыстрее.
|
#3
|
|||
|
|||
![]() http://www.progdigy.com/forums/viewt...b90d e9bf964f
что-то вроде этого, но там ещё тормознее (не помню точно, когда пробовал то этот или похожий код или вообще не работал, или не хотел делать снимок с видео плеера) >woweook< |