我已经获得了一部.avi电影,我必须使用DirectShow lib来显示它。所以我使用pictureBox逐帧显示位图图像,但我想保持宽高比。如何在Windows窗体中执行此操作。提前致谢。 编辑:我必须以相同的宽高比存储一些位图图像。
答案 0 :(得分:0)
AVI格式不支持视频的宽高比,因此您只能假设基于视频流的像素分辨率的方形像素和宽高比。从流中获取特定帧/位图的大多数方法都可以获得原始视频分辨率的图像。您使用位图尝试保留纵横比的进一步操作假设您使用图像尺寸进行简单的数学运算:您将控件或绘制图像的区域缩放到适当的位置:original-width * presentation-height = original-height * presentation-宽度。或者简单地利用 - 如果适用 - WinForms控件保持宽高比的能力。
使用DirectShow API(视频渲染器)呈现视频时,可以选择保持纵横比,但是根据您使用的渲染器版本略有不同。