请教抓取mediaplayer的窗口,谢谢各位啦~~~~!(50分)

  • 主题发起人 主题发起人 ICEsting
  • 开始时间 开始时间
I

ICEsting

Unregistered / Unconfirmed
GUEST, unregistred user!
首先说一声:新年快乐!!Happy New Year!!!![8D]
用mediaplayer做了一个播放器,想加一个抓取屏幕的功能。[^]
用了一个Tbirmap,Tcanvashe和HDC不可以的,
感觉是抓取屏幕的图象,抓取VCD的就不成了,全部是黑色,[:(]
请问怎么能让我抓到窗口的图象,[?]
希望能有一个代码的例子,谢谢各位啦~~~!!!![:)]
分不多,希望您能帮我这个新手一把!!thanks everybody!
 
呜呜呜,帮帮忙嘛。
 
播放压缩编码的MPG文件抓下来的都是黑的,
有一个方法就是用两个mediaplayer,
一个播放一个很小的MPG文件,
另外的一个就可以抓到图像了
procedure TMyPlayer.ScreenCap(LeftPos,TopPos,RightPos,BottomPos:integer);
var
RectWidth,RectHeight:integer;
SourceDC,DestDC,Bhandle:integer;
begin
RectWidth:=RightPos-LeftPos;
RectHeight:=BottomPos-TopPos;
SourceDC:=CreateDC('DISPLAY','','',nil);
DestDC:=CreateCompatibleDC(SourceDC);
Bhandle:=CreateCompatibleBitmap(SourceDC,RectWidth,RectHeight);
SelectObject(DestDC,Bhandle);
BitBlt(DestDC,0,0,RectWidth,RectHeight,SourceDC,LeftPos,TopPos,SRCCOPY);
Bitmap:=TBitmap.Create;
Bitmap.Handle:=BHandle;
image2.Picture.Bitmap := Bitmap;
Bitmap.Free;
DeleteDC(DestDC);
ReleaseDC(Bhandle,SourceDC);
end;
 
还是不太明白,再解释一下吧,谢谢了。
我比较笨,刚刚接触delphi,多帮帮忙了。
 
各位,谁能帮我解决这个问题分就给谁,不多,希望大家见谅啦~~!!
 
我的解释不够明白吗?
在窗体上放两个mediaplayer,
让一个播放其它的MPG文件
另一个来播放你要抓屏的VCD文件,两个要同时播放
用我给你的函数就可以抓取VCD的屏幕
你试试吧
 
我有以前的方法把directxshow关掉,把图抓了下来,谢谢!
谢啦~~!!!
 
自己用DS做嘛
 
多人接受答案了。
 
ICEsting:
你的抓图可行吗?我怎么用这些方法都取到是黑屏的呢?可否交流?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部