C# WindowsForms не видит функцию .Bitmap, хотя все библиотеки подключил
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//Добавление пользовательских библиотек...
using Emgu;
using Emgu.CV;
using Emgu.CV.Util;
using Emgu.CV.Structure;
using Emgu.Util;
using DirectShowLib;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
private VideoCapture capture = null;
private DsDevice[] webCams = null;
private int selectedCameraId = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webCams = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
for (int i = 0; i < webCams.Length; i++)
{
toolStripComboBox1.Items.Add(webCams[i].Name);
}
}
private void toolStripComboBox1_Click(object sender, EventArgs e)
{
}
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
selectedCameraId = toolStripComboBox1.SelectedIndex;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
try
{
if (webCams.Length == 0)
{
throw new Exception("Нет доступных камер!");
}
else if (toolStripComboBox1.SelectedItem == null)
{
throw new Exception("Необходимо выбрать камеру!");
}
else if (capture != null)
{
capture.Start();
}
else
{
capture = new VideoCapture(selectedCameraId);
capture.ImageGrabbed += Capture_ImageGrabbed;
capture.Start();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Capture_ImageGrabbed(object sender, EventArgs e)
{
try
{
Mat m = new Mat();
capture.Retrieve(m);
pictureBox1.Image = m.ToImage<Bgr, byte>().Flip(Emgu.CV.CvEnum.FlipType.Horizontal).Bitmap;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
try
{
if (capture != null)
{
capture.Pause();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
try
{
if (capture != null)
{
capture.Pause();
capture.Dispose();
capture = null;
pictureBox1.Image.Dispose();
pictureBox1.Image = null;
selectedCameraId = 0;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
//Сделать скриншот...
private void toolStripButton4_Click(object sender, EventArgs e)
{
try
{
Mat m = new Mat();
capture.Retrieve(m);
MakeScreenShotForm screenShotForm = new MakeScreenShotForm(m.ToImage<Bgr, byte>().Flip(Emgu.CV.CvEnum.FlipType.Horizontal));
screenShotForm.Show();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
Источник: Stack Overflow на русском