我已經提供了一個.avi電影,我必須使用DirectShow庫來顯示它。所以我正在使用一個pictureBox來逐幀顯示位圖圖像,但我想保持縱橫比。如何在Windows窗體中執行此操作。提前致謝。 編輯:我必須以相同的長寬比存儲一些位圖圖像。如何從c#中的.avi文件中獲得寬高比。
回答
AVI格式不支持視頻的寬高比,因此您只能根據視頻流的像素分辨率假設方形像素和寬高比。大多數從流中獲取特定幀/位圖的方法都可以讓您以原始視頻分辨率進行圖像處理。你試圖保留縱橫比的位圖的進一步操作假定你用圖像尺寸做簡單的數學運算:縮放你繪製圖像的控件或區域到適當的位置:original-width * presentation-height = original-height * presentation-寬度。或者只是利用 - 如果適用 - WinForms控件能夠保持寬高比。
當您使用DirectShow API(視頻渲染器)呈現視頻時,可以選擇將高寬比保持在那裏,然而,根據所使用的渲染器的版本,它會略有不同。
視頻的高度與分辨率高度相同......或者準確地說,視頻的高度與寬度的比率與分辨率高度與分辨率寬度相同。 – midnitekoder 2014-10-09 19:26:33
在AVI文件中 - 是的,因爲描述符根本沒有字段來覆蓋比率。其他容器可能更靈活,並且具有像素分辨率和單獨的寬高比。這樣就可以定義所謂的「非方形像素」和有效的寬高比調整。 – 2014-10-09 19:35:26
在MPG格式的情況下是像素「非方形」?..就像我必須使用AVI以及MPG視頻。預先感謝:) – midnitekoder 2014-10-09 19:44:08
- 1. 如何從視頻文件中獲得寬高比?
- 2. 如何獲得SVG的寬高比?
- 3. Python:如何從視頻中獲得顯示寬高比?
- 4. 如何獲得YouTube視頻寬高比
- 5. 如何獲得.avi文件的長度
- 6. 如何從C#ASP.NET中的一堆位圖編譯AVI文件?
- 7. 從圖像的寬度和高度獲得寬高比(PHP或JS)
- 8. 如何獲得正確的SVG尺寸/高寬比?
- 9. PHP:如何獲得shockwave .dcr文件的寬度和高度?
- 10. 從FFmpeg獲取視頻的高寬比
- 11. 如何獲得BorderLayout的南寬和高?
- 12. 如何使用Open CMIS獲得寬高比特性
- 13. 使用C#中的AVI文件
- 14. 無法在WebRTC中獲得1:1寬高比視頻
- 15. 如何從表中獲得第二高?
- 16. 如何從一個文件中獲得的行數在C++
- 17. JS中的數學 - 如何從百分比中獲得比率
- 18. 獲取圖像寬高比
- 19. 如何從SVG文件中提取的高度和寬度
- 20. 從壓縮文件中獲取圖像的高度和寬度
- 21. 如何獲得PHP中SVG圖片的寬度和高度?
- 22. 如何獲得PB中圖像的寬度和高度
- 23. 在.avi文件中使用C#尋找
- 24. 如何從頭文件中聲明的結構打印值(高度/寬度)C
- 25. 如何在android中搜索* .avi文件?
- 26. 如何在C中獲得自適應窗體的寬度和高度?
- 27. 如何從Android中的YUV圖像文件獲取寬度和高度?
- 28. 從C獲得DIV高度#
- 29. 如何計算寬高比是否寬?
- 30. C++如何獲得窗口大小(寬度和高度)?
** PictureBox爲你做了**。您可以顯示圖像居中(最終裁剪)或縮放(保持寬高比)。 – 2014-10-01 12:51:09
如果您使用DS,您爲什麼顯示位圖而不是運行視頻? – Plutonix 2014-10-01 12:52:27
其實,我也有電影的框架。 – midnitekoder 2014-10-01 13:04:13