我使用這個樣本代碼 https://www.codeproject.com/Articles/2632/DirectShow-MediaPlayer-in-C 而只需要一點點change.i嘗試在IVideoWindow前面添加圖片框,但PictureBox的是ALWAYSE背後IVideoWindow.i利用家長和bringfront但非前他們工作。我只需要在視頻前將圖片顯示爲徽標或水印。添加圖片框在IVideoWindow
-1
A
回答
1
DirectShow
和您正在使用的整個軟件包(即Windows窗體)確實很舊。首先讓我告訴你發生了什麼。 DirectShow
和所有其他DirectX
圖形包如Direct3D
直接與圖形卡一起工作,並直接在顯示器上繪製圖層,Windows甚至沒有意識到,更不用說在它上面畫東西了。因此,除非您使用DirectX在您創建初始窗口的相同設備中呈現要顯示的內容,否則無法完成此操作。
好的,那麼解決方案是什麼?
我不知道你在做什麼,但很多年前我用WPF和它WritableBitmap
呈現從IP攝像機接收到的圖像屏幕。 WPF在DirectX內部工作,使其快速高效。你也有能力寫下它,因爲它只是一個正常的控制,你可以隨心所欲地做任何事情。
希望它能幫助:)
1
視頻播放的該方法使用不與的WinForms拌勻一定的能力,所以你不能把一個控制在視頻前,在準確的UI結合這一點。
這是設計行爲。您必須提取視頻幀並使用常規的WinForms API呈現它們,或者使用DirectShow.NET應用您的水印,並顯示組合視頻,將原始視頻幀與徽標合併。
請參閱有關覆蓋顯示的視頻的相關問題:
DirectShow.NET的BitmapMixer樣品可能會有所幫助:
BitmapMixer是如何使用VMR9使用 來繪製視頻的示例。
此示例主要圍繞IVMRMixerBitmap9接口構建。 此接口接受位圖作爲GDI設備上下文或作爲Direct3D Surface。 Direct3D Surface的主要優勢在於它可以使用真正的Alpha透明度。 GDI DC不支持 alpha位圖,透明度通過使用顏色鍵控來實現。
相關問題
- 1. 隱藏IvideoWindow圖片
- 2. 在C#中添加自動圖片框
- 3. 添加圖片在消息框中(UIAlertController)
- 4. 添加在圖片
- 5. 在圖片上添加圖片點擊
- 6. 將圖片框添加到前一個
- 7. 將邊框添加到圖片
- 8. C#添加圖片到圖片框列表
- 9. 將圖片添加到運動圖片框
- 10. 在UIPickerView中添加圖片
- 11. 添加圖片在塊
- 12. 添加圖片到在openlayer
- 13. 在silverlight中添加圖片
- 14. 添加卡片圖片C#
- 15. 如何在我的框架中添加加載圖片?
- 16. CKEDITOR添加圖片
- 17. Visual C++/CLI加載圖像添加到資源圖片框
- 18. 如何添加圖片到圖片?
- 19. 在谷歌地圖中添加圖片
- 20. 在Android中添加圖片視圖
- 21. 在圖片框
- 22. 添加圖片在提示消息框中標題與Swift 3
- 23. 如何在sencha touch的文本框中添加圖片
- 24. 在圖像幻燈片放映之外添加邊框
- 25. 添加CellPaint事件圖片框與網格在上面畫了
- 26. 如何使用jquery在文本框中添加背景圖片
- 27. 如何使用visual C++在win32 API中添加圖片框
- 28. 如何在圖片css上添加邊框到博主
- 29. 通過C類在窗體上添加一個圖片框#
- 30. 如何在html中添加文本框中的圖片?
視頻以視頻疊加播放,允許播放器卸載解碼視頻流的繁重工作,並將像素爆炸至GPU。您只能通過自己創建疊加層來超越疊加層。易於在Winforms中使用TransparencyKey屬性。示例代碼保持窗體在正確的位置[在這裏](http://stackoverflow.com/a/4503371/170340)。 –