我有一个非常简单的表单应用程序,我从我的计算机上读取视频,并且每个帧我想用当前帧更新图片框。我认为这将是直截了当的,但我的图片框总是空的。
private void loadPicture()
{
VideoFileReader reader = new VideoFileReader();
reader.Open("local link to video");
Console.WriteLine(reader.FrameCount);
for (int i = 0; i < reader.FrameCount; i++)
{
Bitmap videoFrame = reader.ReadVideoFrame();
if (pictureBox1.Image != null)
{
pictureBox1.Dispose();
}
pictureBox1.Image = videoFrame;
//Console.WriteLine(pictureBox1.Image.Height);
videoFrame.Dispose();
}
reader.Close();
}
private void Form1_Load_1(object sender, EventArgs e)
{
loadPicture();
}
我使用Aforge.Video.FFMPEG
库来阅读视频。
我做错了什么?
答案 0 :(得分:0)
您在Disposing
:
if (pictureBox1.Image != null)
{
pictureBox1.Dispose();
}
但这会占用整个PictureBox
所以请致电
if (pictureBox1.Image != null)
{
pictureBox1.Image.Dispose();
}
代替。