因为刷新很快,你用Image看不到很正常,所以,你只能根据我所说的去做处理,先用WM_Timer处理,不行就HookDirectx的Surface,然后处理
如果是VFW模式的,视频的刷新是用的时钟,你只需要拦截视频窗口的WM_TImer消息,然后在这个里面即时划伤你的内容则可
Image透明的,放在第一层,视频放在底层。 另外,可以通过Panel,在DSVideoWindowEx1上画图。
Bitmap.PixelFormat := pf32bit; 要32位带透明通道的图片
var GVMRBitmap : TVMRBitmap; GVMRBitmap:= TVMRBitmap.Create(VideoWindow); GVMRBitmap.Options := [vmrbSrcColorKey]; GVMRBitmap.LoadBitmap(Bitmap); //Bitmap :事先画好的图片 GVMRBitmap.ColorKey := clWhite; GVMRBitmap.Source := GVMRBitmap.Canvas.ClipRect; GVMRBitmap.DrawTo(x,y,w,h, 1.0) ;//x,y,w,h :需要绘制的区域,即在VideoWindow上的目标区域 GVMRBitmap.Alpha := 1.0;
1,183
社区成员
14,336
社区内容
加载中
试试用AI创作助手写篇文章吧