Нет изображения с веб-камеры с aforge на c#

Я только изучаю C# и пытаюсь реализовать программу захвата изображений с веб-камеры. Я использую библиотеку Aforge, дело в том, что в моем окне не отображается изображение с веб-камеры, и я не понимаю, почему. Если кто-нибудь знает мою ошибку, дайте мне знать. Заранее спасибо.

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using DarrenLee.Media;

namespace test4
{
    public partial class MainForm : Form
    {
        int count = 0;
        Camera myCamera = new Camera();

        public MainForm()
        {
            InitializeComponent();

            GetInfo();
            myCamera.OnFrameArrived += myCamera_OnFrameArrived;
        }
        private void GetInfo()
        {
            var cameraDevices = myCamera.GetCameraSources();
            var cameraResolutions = myCamera.GetSupportedResolutions();

            foreach (var d in cameraDevices)
                cmbCameraDevices.Items.Add(d);

            foreach (var r in cameraResolutions)
                cmbCameraResolutions.Items.Add(r);

            cmbCameraDevices.SelectedIndex = 0;
            cmbCameraDevices.SelectedIndex = 0;

        }
        private void myCamera_OnFrameArrived(object source, FrameArrivedEventArgs e)
        {
            Image img = e.GetFrame();
            picCamera.Image = img;
        }
        void ComboBox1SelectedIndexChanged(object sender, EventArgs e)
        {
            myCamera.ChangeCamera(cmbCameraDevices.SelectedIndex);

        }
        void ComboBox2SelectedIndexChanged(object sender, EventArgs e)
        {
            myCamera.Start(cmbCameraDevices.SelectedIndex);
        }
        void Form1FormClosing(object sender, FormClosingEventArgs e)
        {
            myCamera.Stop();
        }
        void BTTsaveClick(object sender, EventArgs e)
        {
            string filename = Application.StartupPath + @"\" + "Image" + count.ToString();
            myCamera.Capture(filename);
            count++;
        }
    }
}

Изображение того, как это выглядит, когда я его компилирую: https://i.gyazo.com/6956a07405cd4bf5e74c20bc321bd32e.png

Я соединяю графическое окно с содержимым в этой строке:

Изображение img = e.GetFrame (); picCamera.Image = img;

при отладке переменная img имеет значение?

Jazb 26.10.2018 09:26

@JohnB Я не уверен, как использовать отладчик, но если я использовал его правильно, он говорит, что «процесс запущен»

Abril Barrera 26.10.2018 09:41

хорошо ... тебе нужно научиться этому навыку - не сложно. также исследуйте how to set a break-point

Jazb 26.10.2018 09:42

Да, прости. Я установил точку останова, а затем отладил, получил консольное сообщение, но не уверен, как с ним увидеть точное значение переменной.

Abril Barrera 26.10.2018 09:46

тогда это то, что вам нужно узнать дальше ...

Jazb 26.10.2018 09:50

Извините за потраченное время, я просто собираюсь попробовать что-то более близкое к моему уровню, я знаю, что мне нужно узнать намного больше. Я просто расстроился и поэтому спросил, но понял, что просто зря трачу ваше время. Извините и спасибо. Хорошей ночи.

Abril Barrera 26.10.2018 09:53
0
6
355
1

Ответы 1

Перед написанием кода убедитесь, что вы щелкнули по объекту.

Пример: нажмите кнопку в форме дизайна, затем вставьте код для BTTsaveClick во вновь созданный метод после нажатия кнопки.

Если вы используете Visual Studio, вы можете проверить, есть ли ссылки на методы. Если на него нет ссылки, это означает, что код не будет прочитан.

Другие вопросы по теме