L luket Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-22 #1 当我们用超级解霸播放VCD时,会在右上角看到“超级解霸 2000”的字样,这是叠加在运动 的图象之上的。 我想要的就是这种效果。。。 请各位研究一下,如何实现???(不限语言) 谢谢!!
C creation-zy Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-22 #2 最简单的方法: 用一个Label,Transparent设为Ture即可。 另一种方法:在内存中建一个Bitmap,在其中用API写字,然后用BitBlt复制到屏幕上即可(字符的背景要透明哟)。
C cgh0717 Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-23 #4 对不起,我的一位朋友(对多媒体编程有一定的研究)已经Delphi是不可能做到像 “超级解霸 2000”那样的。只能用上面那种办法。
X xygz Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-23 #5 用VFW的时候就有一条命令专门做这个的 增加一个信息块: capinfochunk cic; cic.fccinfoID = infotypeSMPTE_TIME; cic.lpdata = "00:20:30:12"; cic.cbDATA =strlen(cic.lpDATA)+1; capFileSetInfoChunk(hwndc,&cic); 研究一下VFW应该没问题的,(如果你用的是VFW兼容的程序) 我做视频捕捉时看到的,但自己没用
用VFW的时候就有一条命令专门做这个的 增加一个信息块: capinfochunk cic; cic.fccinfoID = infotypeSMPTE_TIME; cic.lpdata = "00:20:30:12"; cic.cbDATA =strlen(cic.lpDATA)+1; capFileSetInfoChunk(hwndc,&cic); 研究一下VFW应该没问题的,(如果你用的是VFW兼容的程序) 我做视频捕捉时看到的,但自己没用
L luket Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-23 #6 to Creation-zy: 你可能需要仔细看一下问题,它的背景是运动的图像,用LABEL或者画笔或是BitBlt是不可能实现的。 to xygz: 这是些什么对象和函数?能在MSDN中找到吗?或是某种硬卡的SDK函数? 各位注意: 可能需要工作在DirectX环境下,因为全屏播放时会切换。 各位仔细想想,不像超级解霸那样自己来解码播放,仅依靠MCI来播放,有什么办法实现叠加?
to Creation-zy: 你可能需要仔细看一下问题,它的背景是运动的图像,用LABEL或者画笔或是BitBlt是不可能实现的。 to xygz: 这是些什么对象和函数?能在MSDN中找到吗?或是某种硬卡的SDK函数? 各位注意: 可能需要工作在DirectX环境下,因为全屏播放时会切换。 各位仔细想想,不像超级解霸那样自己来解码播放,仅依靠MCI来播放,有什么办法实现叠加?
人 人在边缘 Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-23 #7 呵呵!好问题!不过也是难题! 去马飞涛的主页看看,想来一定会大有收获。虽然我知道一点,但不敢侵权,呵呵!
L lww Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-24 #9 是用DirectX做的,DirectX有一个表面(类似于普通图像操作的DC), 可以用GDI的API函数在这个表面进行绘图。
L luket Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-25 #10 to 人在边缘: 请告诉URL!! to Lww: 我也是这么想的,能不能给出示范源代码,加分都可以的。。
I IamWLJ888 Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-25 #11 到http://www.torry.net/nonrect.htm下载FormRgn。 用FormRgn——TTextExtRgn产生字串透明窗口叠加在播放窗口之上即可。 这是一个菜办法,但总可以解决嘛,哈哈!
到http://www.torry.net/nonrect.htm下载FormRgn。 用FormRgn——TTextExtRgn产生字串透明窗口叠加在播放窗口之上即可。 这是一个菜办法,但总可以解决嘛,哈哈!
L LeeChange Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-27 #12 新得利的小张做过一个,效果不错, 但他死活不肯透露一点点思路给我,真不够意思. 但可以肯定的是:他做了一个Transform的Filter.
T tseug Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-28 #13 我也做过一个,不过是利用一个线程不停的截取画面,然后合成后再画到原来的位置, 播放的时候绝对看不出。
C cgh0717 Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-29 #14 呵呵,用IamWLJ888,的方法吧。我也想到过[^]
L luket Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-29 #15 tseug: 能否把代码共享一下?因为工作DIRECTX全屏模式下,我的窗口都不能显示在图象之上 ,更别谈叠加了!!用IamWLJ888,的方法行不通的原因也在这。 另外,如何截取DirectX画面?我有三十个左右LABEL,怎么办? 这种线程的使用会不会占用大量CPU时间?
tseug: 能否把代码共享一下?因为工作DIRECTX全屏模式下,我的窗口都不能显示在图象之上 ,更别谈叠加了!!用IamWLJ888,的方法行不通的原因也在这。 另外,如何截取DirectX画面?我有三十个左右LABEL,怎么办? 这种线程的使用会不会占用大量CPU时间?
I IamWLJ888 Unregistered / Unconfirmed GUEST, unregistred user! 2001-09-29 #16 LWW说的不错!可使用DSPACK作播放器嘛,它的TDSVideoWindows中有TCanvas可在上面写文字。 你可建一个线程实时不停地写文字,线程占用CPU不会太大。 但是播放一个文件开始时叠加的文字有所闪烁, 请大家看看是否有办法解决。
LWW说的不错!可使用DSPACK作播放器嘛,它的TDSVideoWindows中有TCanvas可在上面写文字。 你可建一个线程实时不停地写文字,线程占用CPU不会太大。 但是播放一个文件开始时叠加的文字有所闪烁, 请大家看看是否有办法解决。
L luket Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-10 #19 据我的研究: 用VFW需要视频捕捉卡.我没有 只能用Overlay Surface,叠加在软解压的图象上. 可惜目前极不稳定,经常死机.