C# ile Webcam Yapımı


Merhaba Arkadaşlar, Nasılsınız? Nasıl gidiyor hayat? İnşAllah her şey yolundadır. Öyle duyuyor gibiyim çünkü.  Ara ara aksilikler oluyorsa da , yaşadığınızın belirtisidir. Çokta kafayı takmamak gerekebilir. Her neyse arkadaşlar, çok uzatmadan bugün sizlere C# ile webcam nasıl yapılır? Anlatmaya çalışacağım. Sorunuz olursa yorum atabilirsiniz. En kısa zamanda dönmeye çalışacağım.Haydi başlayalım. İlk önce Visual Studio’muzdan windows formumuzu açalım. Açılan pencereden toolbox kutusundan 2 adet Button, 2 adet Label, 2 adet ComboBox ve 1 adet PictureBox alalım.Aşağıdaki resimdeki gibi.

Bunları yaptıktan sonra referanslarımızı ekleyelim. Buraya tıklayarak gerekli olan referanslarımızı indirelim. İnen arşivin içine gelerek Release yazan dosyayı arşivden çıkartalım.Ve aşağıdaki seçili .dll lerimizi ekleyelim.

 

Ekledikten sonra kodlarımızı yazabiliriz.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AForge.Video.DirectShow;     //EKLENEN .DLL
using AForge.Video;               //EKLENEN .DLL
using AForge;                    //EKLENEN .DLL
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private FilterInfoCollection VideoTutmaSecenekleri;

        private VideoCaptureDevice Video;
        public Form1()
        {
            InitializeComponent();

            VideoTutmaSecenekleri = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            foreach (FilterInfo VideoCaptureDevice in VideoTutmaSecenekleri)
            {
                comBoxDesteklenenKameralar.Items.Add(VideoCaptureDevice.Name);
            }

            comBoxDesteklenenKameralar.SelectedIndex = 0;

            Video = new VideoCaptureDevice(VideoTutmaSecenekleri[comBoxDesteklenenKameralar.SelectedIndex].MonikerString);

            foreach (var capability in Video.VideoCapabilities)
            {
                comboBoxDesteklenenModlar.Items.Add(capability.FrameSize.ToString() + ":" + capability.MaximumFrameRate.ToString() + ":" + capability.BitCount.ToString());

            }
            comboBoxDesteklenenModlar.SelectedIndex = 0;

            Video.NewFrame += new NewFrameEventHandler(Video_NewFrame);
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void buttonBaslat_Click(object sender, EventArgs e)
        {
            Video.VideoResolution = Video.VideoCapabilities[comboBoxDesteklenenModlar.SelectedIndex];

            this.Width = Video.VideoResolution.FrameSize.Width + pictureBoxVideo.Width + 20;
            this.Height = Video.VideoResolution.FrameSize.Height + 40;

            this.pictureBoxVideo.Width = Video.VideoResolution.FrameSize.Width;
            this.pictureBoxVideo.Height = Video.VideoResolution.FrameSize.Height;

            Video.Start();

            buttonBaslat.Enabled = false;
            buttonDur.Enabled = true;
        }
        private void buttonDur_Click_1(object sender, EventArgs e)
        {
            Video.Stop();

            buttonBaslat.Enabled = true;
            buttonDur.Enabled = false;
        }
        private void Video_NewFrame(object sender, NewFrameEventArgs eventargs)
        {
            if (pictureBoxVideo.Image != null)
            {
                pictureBoxVideo.Image.Dispose();
            }
            Bitmap tempBitmap = (Bitmap)eventargs.Frame.Clone();
            pictureBoxVideo.Image = tempBitmap;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (Video != null)
            {
                Video.Stop();

            }
        }
    }

Desteklenen Kamrelar da sizin bilgisayarınızdaki bağlı olan kameranın markasını comboBox ta gösterir.

Desteklenen Mod da ise kameranın farklı genişlik ve yükseklik ölçülerini gösterir. Ve seçime göre de video kaydına başlar.

Arkadaşlar anlatacaklarım bu kadar. Bug’suz çalışmalar. Kolay gelsin. 🙂

C# ile Webcam Yapımı

Giriş Yap

Hoşgeldin
Don't have an account?
Kayıt Ol

Şifreni Yenile

Back to
Giriş Yap

Kayıt Ol

Ekimize Katılmaya Hazırmısın

Back to
Giriş Yap
Choose A Format
Personality quiz
Series of questions that intends to reveal something about the personality
Trivia quiz
Series of questions with right and wrong answers that intends to check knowledge
Poll
Voting to make decisions or determine opinions
Story
Formatted Text with Embeds and Visuals