用directdraw的实时抓屏问题(200分)

  • 主题发起人 主题发起人 fu_xiang_yu
  • 开始时间 开始时间
我也在研究抓屏。。。。速度是个大难题。。。。。
有好方法不要告诉我。。。。。。。。。。
我有好方法,也会公布的。。。。。
 
谢谢大家,三个月没上dfw了,我的问题还没被del

继续!
 
请看:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=644869
[:)]
 
BitBlt在PIII-800,128M, 1024*768下: 260ms....
too slow........
 
不可能的吧??
赛杨533 128M 800*600 12ms.
 
不会吧? 12MS?????
我的程序代码:

time1 := gettickcount;
//建立screen bitmap
ScreenBmp := TBitmap.Create;
ScreenBmp.Width := screen.Width;
ScreenBmp.Height := screen.Height;
ScreenBmp.PixelFormat := pf24Bit;

dc := GetWindowDC(0);
try
ScreenCanvas.Handle := dc;
BitBlt(ScreenBmp.Canvas.Handle, 0,0,screen.Width,screen.Height,
dc, 0,0,SRCCOPY);
finally
ReleaseDC(0, DC);
end;
ShowMessage(inttostr(gettickcount-time1));

800*600: 差不多150MS左右!!!!!!!
 
我的程序有什么问题吗?
 
fu_xiang_yu, 不好意思,借您的宝地讨论.
http://www.delphibbs.com/delphibbs/dispq.asp?lid=538683
 
用bitblt()抓普通屏幕还行,但对影视图象不行,似乎和directx有关,不知各位高手有
无抓影视图象的方法?
 
大家:继续谢谢
老赵:不客气,请便......
 
用DIRECT DRAW抓屏,然后用DIRECT PLAY传输,因该没问题的拉!
 
接受答案了.
 
后退
顶部