首页

C#操作摄像头(打开、关闭、截图)

c#

2020-9-10

打开摄像头、摄像头截图保存为图片 示例源码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Text;
using System.Windows.Forms;
using System.Threading;

using AForge;
using AForge.Video;
using AForge.Video.DirectShow;
using AForge.Imaging;
using AForge.Imaging.Filters;
using System.IO;

namespace Camera
{
    public partial class Test : Form
    {
        private FilterInfoCollection videoDevices;

        public Test()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                // 枚举所有视频输入设备
                videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

                if (videoDevices.Count == 0)
                    throw new ApplicationException();

                foreach (FilterInfo device in videoDevices)
                {
                    tscbxCameras.Items.Add(device.Name);
                }

                tscbxCameras.SelectedIndex = 0;
            }
            catch (ApplicationException)
            {
                tscbxCameras.Items.Add("No local capture devices");
                videoDevices = null;
            }
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            CameraConn();
        }

        //连接摄像头
        private void CameraConn()
        {
            VideoCaptureDevice videoSource = new VideoCaptureDevice(videoDevices[tscbxCameras.SelectedIndex].MonikerString);
            videoSource.DesiredFrameSize = new Size(320, 240);
            videoSource.DesiredFrameRate = 1;

            videPlayer.VideoSource = videoSource;
            videPlayer.Start();
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            videPlayer.SignalToStop();
            videPlayer.WaitForStop();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            toolStripButton2_Click(null, null);
        }

        /// <summary>
        /// 保存图片
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            System.Drawing.Image img = new Bitmap(videPlayer.Width, videPlayer.Height);
            videPlayer.DrawToBitmap((Bitmap)img, new Rectangle(0, 0, videPlayer.Width, videPlayer.Height));
            img.Save(@"E:/a.bmp",ImageFormat.Bmp);

        }

    }
}

资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera.sln , 860
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera.suo , 21504
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera.v11.suo , 40960
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/AForge.Controls.dll , 14336
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/AForge.dll , 9728
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/AForge.Imaging.dll , 97792
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/AForge.Video.DirectShow.dll , 27136
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/AForge.Video.dll , 13312
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/Camera.exe , 14336
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/Camera.pdb , 30208
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/Camera.vshost.exe , 21472
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/bin/Debug/Camera.vshost.exe.manifest , 490
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Camera.csproj , 3994
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Form1.cs , 2718
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Form1.Designer.cs , 6146
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Form1.resx , 9515
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Include/AForge.Controls.dll , 14336
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Include/AForge.dll , 9728
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Include/AForge.Imaging.dll , 97792
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Include/AForge.Video.DirectShow.dll , 27136
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Include/AForge.Video.dll , 13312
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/Camera.csproj.FileListAbsolute.txt , 3090
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/Camera.csproj.GenerateResource.Cache , 904
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/Camera.csprojResolveAssemblyReference.cache , 33852
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/Camera.exe , 14336
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/Camera.pdb , 30208
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/Camera.Properties.Resources.resources , 180
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/Camera.Test.resources , 2771
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache , 21792
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 6621
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/ResGen.read.1.tlog , 3806
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/ResGen.write.1.tlog , 700
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/obj/x86/Debug/ResolveAssemblyReference.cache , 17492
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Program.cs , 466
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Properties/AssemblyInfo.cs , 1362
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Properties/Resources.Designer.cs , 2860
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Properties/Resources.resx , 5612
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Properties/Settings.Designer.cs , 1089
╔π╧±═╖▓┘╫≈/Camera/Camera/Camera/Properties/Settings.settings , 249
没有账号? 忘记密码?

社交账号快速登录