WPFMediaKit攝像頭處理


 

       WPFMediaKit可以在wpf中使用攝像頭的安裝包,原來感覺很神秘的東西,現在感覺也挺簡單了,其實工作之中,你不可能什么都會,什么都學到,要學會解決問題的技巧,遇到問題如何去找去問。

    首先把添加WPFMediaKit.dll到項目中去,然后添加對其的引用。

   1, 然后在wpf的xmal中添加一句代碼如下:

1 xmlns:wpfmedia="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit"


   2, 在xmal中手動添加控件,用於顯示預覽的畫面。

1 <wpfmedia:VideoCaptureElement Name="vce" Height="200" DockPanel.Dock="Top">
2                 
3             </wpfmedia:VideoCaptureElement>

   3,然后是后台代碼:現在onload里:

 1  private void Window_Loaded(object sender, RoutedEventArgs e)
 2         {
 3 //現在電腦上裝的所有攝像頭中,選擇一個攝像頭。
 4             cb.ItemsSource = MultimediaUtil.VideoInputNames;
 5 //設置第0個攝像頭為默認攝像頭。
 6             if (MultimediaUtil.VideoInputNames.Length > 0)
 7             {
 8                 cb.SelectedIndex = 0;
 9             }
10             else
11             {
12                 MessageBox.Show("電腦沒有安裝任何攝像頭");
13             }
14         }
15 
16 private void cb_SelectionChanged(object sender, SelectionChangedEventArgs e)
17         {
18             vce.VideoCaptureSource = (string)cb.SelectedItem;
19         }

    4,然后是拍照,保存照片啦。

 1  private void Button_Click(object sender, RoutedEventArgs e)
 2         {
 3             //抓取控件做成圖片
 4             RenderTargetBitmap bmp = new RenderTargetBitmap(
 5                 (int)vce.ActualWidth, (int)vce.ActualHeight,
 6                 96, 96, PixelFormats.Default);
 7             bmp.Render(vce);
 8             BitmapEncoder encoder = new JpegBitmapEncoder();
 9             encoder.Frames.Add(BitmapFrame.Create(bmp));
10             using (MemoryStream ms = new MemoryStream())
11             {
12                 encoder.Save(ms);
13                 byte[] captureData = ms.ToArray();
14 //保存圖片
15                 File.WriteAllBytes("d:/1.jpg", captureData);
16             }
17             vce.Pause();
18         }

這樣就OK了,看一下效果吧。

效果好不錯吧。

---------------------- ASP.Net+Android+IOS開發.Net培訓、期待與您交流! ----------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM