簡體   English   中英

圖片盒中的視頻C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM