请问,MediaPlayer中的图像如何另存为图像文件(是ActiveX控件)(200分)

  • 主题发起人 主题发起人 roc_fu
  • 开始时间 开始时间
R

roc_fu

Unregistered / Unconfirmed
GUEST, unregistred user!
代码:
我用截取MediaPlayer显示区的方法截取图像,可以另存为文件,但是使用使用Dx加速配置后就无法截图了,截到的图像都是黑乎乎的,请问各位高手有没有好的办法?或者MediaPlayer有自己的方法截图?,另外,怎么才能知道打开的视频文件的格式,比如是NTSC还是PAL的?
 
没有人知道么?
 
你可以使用TactiveMovie控件,下载地址:
http://www.delphicity.com
那里有详细的截屏的例子
不过我还没有找到注册码,没有注册时会在播放区显示其网址
 
有时间限制么?
 
好象没有.反正播放影片和更改日期都没有影响
 
还有没有更好的,我要结贴了?[:(]
代码:
 
用BitBlt函数实现位图拷贝
//************************************************************
var
HDCScreen:HDC;
iWidth,iHeight:integer;
tmpRect:TRect;
begin

tmpRect := FormMovie.Panel1.ClientRect;
HDCScreen := GetDC(FormMovie.Panel1.Handle);
tmpBitmap :=TBitmap.Create;
iWidth := tmpRect.Right-tmpRect.Left;
iHeight := tmpRect.Bottom-tmpRect.Top;
tmpBitmap.Width := iWidth;
tmpBitmap.Height := iHeight;
iBitmapValide := True;
Bitblt(tmpBitmap.Canvas.Handle,0,0,iWidth,iHeight,
HDCScreen,tmpRect.Left,tmpRect.Top, SRCCOPY);
ReleaseDC(FormMovie.Panel1.Handle,HDCScreen);
//************************************************************
////
以下有省略
tmpJPEG := Tjpegimage.Create;
//创建JPEG
tmpJPEG.Assign(tmpBitmap);
//转换
tmpJPEG.CompressionQuality := 100;
tmpJPEG.Compress;
//采用JPEG压缩
try
tmpJPEG.Savetofile(SavePic.FileName);
//保存
finally
tmpJPEG.Free;
//释放JPEG
end;


 
楼上的方法不成吧?我试过了,抓取的是背景,就是黑的东西
 
截取全屏图,在新form上全屏显示image,
然后在新form的image上取相关区域,
关闭新的FORM。
应该可以成功
 
是可以的,如果用到了DIRECTX这个好象不行
 
Tjepgimage这个类是那个Unit里面的???
 
Tjepgimage 在 Jpeg 里
 
后退
顶部