⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_55185.htm

📁 vc
💻 HTM
字号:
<p>
序号:55185 发表者:Konca 发表日期:2003-10-07 16:21:14
<br>主题:请教DirectShow的透明问题
<br>内容:(见图)<BR>图中后面的窗口是DirectX SDK 8.1中的Dvd Sample例子的播放窗口,<BR>它的颜色是 RGB( 16, 0, 16) (见HTML color中的F3).<BR>我用"图画"填充了这个颜色,然后放在播放窗口的上面,<BR>图象仍然能看到.<BR><BR>我想问的是,如何可以自定义那个透明的颜色,<BR>如何在上面叠加文字.<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:绍辉 回复日期:2003-10-08 11:46:42
<br>内容:DirectShow中的透明颜色是在Video Renderer模块里定义的,而video Render使用的是Direct Draw中的结构DDOVERLAYFX的变量dckDestColorkey.dwColorSpaceLowValue和dckDestColorkey.dwColorSpaceHighValue<BR>对于DirectShow框架,因为Video Renderer是系统提供的,所以没法修改。<BR>如果要实现叠加文字,可以在视频窗口上创建一个字窗口,背景色用透明色填充,再在上面写字。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Konca 回复日期:2003-10-10 09:43:25
<br>内容:但我还有点不明白。<BR>我看过金山影霸的一个版本,它的透明色是RGB(17,17,17),而豪杰的是RGB(255, 0, 255)。这会不会是他们自己改了那个头文件里的东西呢?<BR><BR>第二个问题是关于窗口创建的问题。<BR>我用Spy++和Girder研究过豪杰的播放窗口,它只有一个窗体,你知不知道它是如何实现文字叠加的呢?<BR>我是用SDK方式编程的,没用Frame,那如何实现再建一个窗口呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:绍辉 回复日期:2003-10-10 10:03:58
<br>内容:很明显金山影霸和豪杰都没用Direct Show框架,而是自己的一套,但都离不了Direct Draw,其透明色当然可以自己指定;既然所有过程都在他们的控制之中,也就可以实现文字叠加(比如直接在视频数据中叠加)。<BR>用CreateWindow就可以创建窗口,具体过程请看Win32 Platform SDK文档。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -