[英]Video in picturebox c#
我在第二種形式的圖片框中檢索視頻時遇到問題。 這是我的代碼
Main.cs
private void start_video()
{
while (!needClose)
{
video.capture();
pictureBox1.Image = ImageFrame.video;
}
}
private void button1_Click(object sender, EventArgs e)
{
camera = new Camera();
camera.Show();
}
這是我的課程(當然有設置視頻的功能)
public class ImageFrame
{
public static Image video { get; set; }
}
這是我的Camera.cs
public partial class Camera : Form
{
private bool test = false;
public Camera()
{
InitializeComponent();
returnVideo();
}
private void returnVideo()
{
while (!test)
{
pictureBox2.Image = ImageFrame.video;
}
}
該視頻在pictureBox1中可以正常工作,但是當我單擊button1打開新窗體時,檢索到pictureBox1的同一視頻只是凍結了。 為什么? 如果我不使用那一會兒,它只會顯示一幀,但是我需要視頻(來自攝像機,因此是實時取景)。
這會阻止事件循環運行,因此在每次更改窗口時,UI更新都會停止並因此凍結。
while (!test) // = while(true)
{
pictureBox2.Image = ImageFrame.video;
}
使用計時器每隔50毫秒或更短時間更新一次圖片。
編輯:一些偽代碼:
timer1.Interval=50;
timer1.Tick+=timer1_Tick;
timer1.Start();
void timer1_Tick(..)
{
pictureBox2.Image = ImageFrame.video;
}
這也減少了CPU負載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.