如何从c#中的.avi文件中获取纵横比

本文关键字:获取 文件 avi 中的 | 更新日期: 2023-09-27 18:25:10

我收到了一部.avi电影,我必须使用DirectShow lib来显示它。所以我使用pictureBox逐帧显示位图图像,但我想保持纵横比。如何在Windows窗体中执行此操作。提前感谢。编辑:我必须以相同的纵横比存储一些位图图像。

如何从c#中的.avi文件中获取纵横比

AVI格式不支持视频的纵横比,因此只能根据视频流的像素分辨率假设正方形像素和纵横比。大多数从流中获得特定帧/位图的方法都可以使您获得原始视频分辨率的图像。您对位图的进一步操作试图保持纵横比,假设您对图像尺寸进行了简单的计算:您适当地缩放绘制图像的控件或区域:原始宽度*演示高度=原始高度*演示宽度。或者简单地利用WinForms控件保持纵横比的能力(如果适用的话)。

当您使用DirectShow API(视频渲染器)呈现视频时,可以选择保持纵横比,但根据您使用的渲染器版本的不同,纵横比略有不同。