WPF ile Kamera Erişimi


   Wpf 'te kamere erişimine değinecem bu makalemde ilk zamanlar baya aramıştım basit bir şekilde halledebilirmiyim diye bir kaç foruma yazdım ama istediğim cevapları alamamıştım. Hep class'lar ile çözüme yönlendirilmiş ve buda işi çıkılmaza sürüklüyordu birazda hata verdiğinde müdahale etme şansı çok azdı kendi yazdığınız kod olmadığı için en son bulduğum yolu sizinlede paylaşmak istedim umarım işinizi görür.




1-Component Studio 2010 kurulması lazım bunun sayesinde wpf daha fazla nesne gelecek...
2 - Referans ekleme bölümünden WPFMediaKit.dll projemize dahil ediyoruz
3- Eklediğimiz referans ile prjemize gelen VideoCaptureElement nesnesini forma ekliyoruz
4- 
  1. if (videoCaptureElement1.VideoCaptureSource != "")
  2. {
  3. // videoCaptureElement1.VideoCaptureSource = "";
  4. videoCaptureElement1.Stop();
  5. }
  6. else
  7. {
  8. videoCaptureElement1.VideoCaptureDevice= WPFMediaKit.DirectShow.Controls.MultimediaUtil.VideoInputDevices.FirstOrDefault() ;
  9. }

kamera açma kodları yukardadır...

Resmi kaydetme kodu : 






  • try
  • {
  • if (!string.IsNullOrWhiteSpace(txtPhotoPath.Text) && Directory.Exists(txtPhotoPath.Text))
  •                          {
  • RenderTargetBitmap bmp = new RenderTargetBitmap(1280, 1024, 96, 96, PixelFormats.Default);
  • bmp.Render(videoCaptureElement1);
  • imgPreview.Source = bmp;
  • BitmapEncoder encoder = new JpegBitmapEncoder();
  • encoder.Frames.Add(BitmapFrame.Create(bmp));
  • string now = DateTime.Now.Year + "" + DateTime.Now.Month + DateTime.Now.Day + "" + DateTime.Now.Hour + "" + DateTime.Now.Minute + "" + DateTime.Now.Second;
  • string filename = System.IO.Path.Combine(txtPhotoPath.Text, now + "_pic.jpg");
  • FileStream fstream = new FileStream(filename, FileMode.Create);
  • encoder.Save(fstream);
  • fstream.Close();
  • }
  • else
  • {
  • System.Windows.MessageBox.Show("veuillez choisir un chemin valide pour l'enregistrement des photos");
  •                         }
  • }
  • catch (Exception ex)
  • {
  •  




  • System.Windows.MessageBox.Show(ex.Message);



  • }

  • txtPhotoPath.Text bölümü kaydedilecek yol bölümüdür..

    Kolay gelsin..






  • 2 yorum:

    1. VideoCaptureElement' i nasıl ekliyoruz ?

      YanıtlaSil
      Yanıtlar
      1. 1- Component Studio 2010 kurulması lazım bunun sayesinde wpf daha fazla nesne gelecek...
        2- Referans ekleme bölümünden WPFMediaKit.dll projemize dahil ediyoruz
        3- Eklediğimiz referans ile prjemize gelen VideoCaptureElement nesnesini forma ekliyoruz

        Sil