?? subject_55185.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 + -