当前位置:主页>销售管理软件> 列表

如何在视频窗口中画出透明的图片,如VideoWindow或 找什么记账软件

财务软件版1楼: 在考虑写个可以拍大头贴的程序。
不想使用两个Form做透明,虽然很好实现,但是感觉程序不是很舒服。
一、我使用DSPack连接做截图,视频显示在一个VideoWindow中,但怎么样能把图片透明的显示在上层呢?(大头贴效果)

二、使用VFW把视频显示在一个panel中,同样怎么样实现如上功能?

如果直接canvas的话,顶多只能把画出图片的Alpha效果,不能实现图片的部分透明。

大侠路过给请指点!谢过!

2楼: 知道的人稍微指点一下,DFW离线包和google搜了N遍了,都找不到一个合适的解决方案 如速达软件报价

3楼: 折腾了半天终于解决了,但不知道怎么把这个帖子结束掉,汗自己一个! ^_^!!

4楼: 把分给我就可以结束了^_^

5楼: procedure TForm1.DrawBitmap(X, Y: Integer; ResName: string);
var Map: TBitmap;
begin
Map := TBitmap.Create;
Map.TransparentColor := clFuchsia; //要屏蔽的背景色
Map.Transparent := true; //透明
Map.LoadFromResourceName(hinstance, ResName); //加载资源图片
DSVideoWindowEx21.Canvas.Draw(X, Y, Map);


Map.Free;
end;

6楼: 忘记补充一点,这样canvas上去的图象很难保存下来。
楼上的方法好象不能够满足要求

财务软件版7楼: 另外VideoWindow和VMRBitmap有Canvas方法,但为什么不支持在上面画呢?

8楼: 怎么没有人给点办法吗

9楼: 有没有部分透明的的啦,
除非用这个SampleGrabber,得到每一帧图像,然后在一帧一帧的半透明叠加

10楼: 用VMR我也觉得效果不好的,他只能实现整幅图像的Alpha叠加,我说的是一幅图像上有透明的,有不透明的哪种啦,还有半透明的

11楼: 我原先是利用SampleGrabber的缓冲区处理每一帧的,但是太消耗资源了,CPU占用仍然很高,如果能单独处理最好,即触发事件时进行处理。

12楼: 现在是采用在缓冲区里混合图象,然后输出到image或者可以自己画出来,参考了一下demo,但是在缓冲区处理图象一方面CPU占用太多,一方面偶尔会出现程序异常,不知道是代码问题,还是处理方式的问题 如进销存破解

13楼: 如果真的要实现全透明叠加,应该是不怎么可能的吧,除非是自已从新写一个Filters,
在通过Filters为每一帧叠加

财务软件版14楼: 我在考虑用其他方式,不一定非要在显示时就混合叠加,可以先这样表现出来,或者使用多层窗口都可以,但是需要一种效率比较高的方法。

15楼: 多层窗口叠加应该效果不是很好吧,特别是一些边缘会出现锯齿,

16楼: 没有写过Filter,我再找找资料吧,如果有写过或有示例的朋友帮帮忙

17楼: 如何让twebBrow 是透明的呢

18楼: 不明白你的用意

19楼: 关注些问题,我想装两个视频叠加显示,不保存也行

20楼: /to goddy,通过设置窗口透明度

财务软件版21楼: goddy 的问题本身有点问题,好象并不是要求窗体设置透明

22楼: 看见的人帮帮忙 如什么记账软件

23楼: 写个transfilter了


继承transinplacefilter

24楼: 帮顶!

http://www.source520.com

站长开发推广同盟 站长朋友的终极驿站
同时拥有海量源码电子经典书籍下载

http://www.source520.com/search/search.asp

"编程.站长"论坛搜索引擎-----为中国站长注入动力!

25楼: 将原来的播放窗口隐藏掉,通过回调函数用SampleGrabber得到每一帧图像,贴在image上,再在image上画图

26楼: 就是这个回调函数不知道怎么使用,能否给指点一下,谢谢

27楼: 用SampleGrabber得到的图像,清析度很差,而占用CPU也过大。。。,不是个好办法!
我也正在搞这方面的东东,有没有高手能提出一个更高明的方法呀?关注中...

财务软件版28楼: 利用回调函数好像资源占用比较厉害

29楼: 最好的办法还是自己写filter ,建议你去下栽一个KSC的控件,里面有把文字\图片叠加的代码,虽然这个东西原来的用意是为了显示卡拉OK歌词,不过,正好适合你的用意.

30楼: 接了