using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using AForge.Video; using AForge.Video.DirectShow; namespace WebCamUygulamasi { public partial class FormWebCam : Form { public FormWebCam() { InitializeComponent(); } private FilterInfoCollection webcamsayisi; private VideoCaptureDevice kamera; private void FormWebCam_Load(object sender, EventArgs e) { webcamsayisi = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach (FilterInfo videocapturedevice in webcamsayisi) { comboBoxKameralar.Items.Add(videocapturedevice.Name); } comboBoxKameralar.SelectedIndex = 0; } private void kullanilacakcihaz_NewFrame(object sender, NewFrameEventArgs eventArgs) { Bitmap bit = (Bitmap)eventArgs.Frame.Clone(); pictureBoxKamera.Image = bit; } private void btnkamerabaslat_Click(object sender, EventArgs e) { kamera = new VideoCaptureDevice(webcamsayisi[comboBoxKameralar.SelectedIndex].MonikerString); kamera.NewFrame += new NewFrameEventHandler(kullanilacakcihaz_NewFrame); kamera.Start(); } private void btnkameradurdur_Click(object sender, EventArgs e) { if (kamera.IsRunning) //kamera açıksa kapatıyoruz. { kamera.Stop(); } } private void btnkamerakaydet_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "Jpeg Resmi|*.jpg|Bitmap Resmi|*.bmp|Gif Resmi|*.gif"; saveFileDialog1.Title = "Resmi Kaydet"; saveFileDialog1.ShowDialog(); if (saveFileDialog1.FileName != "") { FileStream DosyaAkisi = (FileStream)saveFileDialog1.OpenFile(); switch (saveFileDialog1.FilterIndex) { case 1: pictureBoxKamera.Image.Save(DosyaAkisi, System.Drawing.Imaging.ImageFormat.Jpeg); break; case 2: pictureBoxKamera.Image.Save(DosyaAkisi, System.Drawing.Imaging.ImageFormat.Bmp); break; case 3: pictureBoxKamera.Image.Save(DosyaAkisi, System.Drawing.Imaging.ImageFormat.Gif); break; } DosyaAkisi.Close(); } } private void FormWebCam_FormClosing(object sender, FormClosingEventArgs e) { if (kamera.IsRunning) { kamera.Stop(); } } } }