截取屏幕的问题,认为容易的进来(200分)

  • 主题发起人 主题发起人 crazycock
  • 开始时间 开始时间
C

crazycock

Unregistered / Unconfirmed
GUEST, unregistred user!
截取屏幕的方法和代码很多,我实验了几种,包括按键盘PrintScreen,用SnapIt抓图软件,还有网上流传的代码,可是,对于RealOne播放rmvb的窗口或者超级结巴3000播放rmvb的窗口却没法截到图像(前者的播放区域截下来是黑屏,后者是粉红方块),这种情况,有没有办法解决呢?能让我截到实际屏幕上显示的画面?
请高手作答。在线关注。
 
按键盘PrintScreen能截下来的那些是模拟方式播放的,截下黑屏的是写表面的,有RGB,YUY格式区分的,有的播放器暂停的时候可以截图,有的代码也是暂停播放才截的,如果你的显卡不支持写表面,你就按PrintScreen吧,截图的代码播放器是自己编的才用得上,我发过好几种了
 
那么RealOne的播放器,在不暂停播放的情况下就没法截图了,对么?
 
应该有的,我也不是很清楚,我也想知道。
 
谢谢netwatch指点。
还有其他高手愿意帮小弟一把么??
 
高手呢?下班了?过节了?和老婆孩子逛街去了??
 
应该能截的,我用过一个东东,能截很多种类的图片。难道CAVAS不能起作用吗?
 
谢谢ximyma关注。你如果有抓图工具,你用RealOne播放rmvb格式的视频,然后看看能否抓到播放的内容的图片~~
 
在用播放器播放文件的时候他会调用API函数中的(好想是DIRECTDRAW这个函数:P不记得了),所以你截下的不是黑屏就是红屏,你可以先用一个播放器播放一个文件(这样这个播放器就会调用这个API函数),然后用别的播放器在播放别的的文件就可以用PrintScreen截图,这样除了第一个调用API函数的那个影片不可以截图别的都可以·!
 
好像听说过用DX方式可以截到这样的动态视频的,有没有见过相关例子呢?
 
我以前编过一个抓图软件,是我的真正的第一个COPY的DELPHI程序,我抓了很多图,就是没抓过REAL……的,从前看过超级解霸的抓图,VCD的抓下来很清楚,就是没有C源码啊。
 
我记得抓图是要用DC的CAVAS,或者用SCREEN参数吧。
 
GetDC拿最高句柄不能截吗?
 
这是我的截图函数,没法截到正在播放的RealOne中的内容。
//uses jpeg
procedure TForm1.snapscreen();
var
bmpscreen:Tbitmap;
jpegscreen:Tjpegimage;
FullscreenCanvas:TCanvas;
dc:HDC;
sourceRect, destRect: TRect;
begin
try
dc:=getdc(0);
fullscreencanvas:=Tcanvas.Create;
fullscreencanvas.Handle:=dc;
bmpscreen:=Tbitmap.create;
bmpscreen.Width :=screen.Width ;
bmpscreen.Height :=screen.Height ;
sourcerect:=rect(0,0,screen.Width ,screen.Height );
destrect:= rect(0,0,screen.Width ,screen.Height);
bmpscreen.Canvas.CopyRect(sourcerect,fullscreenCanvas,destrect);
jpegscreen:=Tjpegimage.Create ;
jpegscreen.Assign (bmpscreen);
jpegscreen.CompressionQuality:=80;
jpegscreen.SaveToFile(ExtractFilePath(ParamStr(0))+'tmp.jpg');
FullscreenCanvas.Free;
bmpscreen.Free;
jpegscreen.Free ;
ReleaseDC(0, DC);
except
end;
end;
 
yuki2003讲的不错,你用getdc对一般的窗口都可以,如果特殊的你看看directx!
 
谁有DriectX抓图的例子??
 
就像是QQ截图的那样,那个连视频都能弄下来的
 
你试了能抓么?我用了最新版本的QQ,然后用RealOne播放rmvb,抓不到播放的内容的。
 
REAL我没试过,不过我用视频聊天就能抓下来
 
视频聊天(QQ的我试过)确实是可以抓下来的,唯独那些播放器播放的咚咚抓不下来。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
555
import
I
后退
顶部