攝像頭使用:
攝像頭捕獲動態圖形的基本設計過程:
①獲取攝像設備
②設置捕獲源對象
③設置視頻刷
④填充矩形顯示
添加引用
using System.Windows.Media.Imaging;
using System.IO;
public VideoCaptureDevice camera; //定義攝像設備
public CaptureSource capturesource=new CaptureSource();
public VideoBrush videoBrush=new VideoBrush();
//啓動攝像頭
private void Action(){
StartCamera();
//如果允許啓動獲取的攝像頭
if(CaptureDeviceConfiguration.RequestDeviceAccess()){
//啓動攝像頭
capturesource.Start();
}
}
private void StartCamera(){
VideoCaptureDevice cameradevice=CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
//如果沒有配置攝像頭
if(cameradevice==null){
//信息提示
}else{
camera=CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
//設置捕獲源對象設置爲攝像頭
capturesource.VideoCaptureDevice=camera;
//設置視頻刷源
videoBrush.SetSource(capturesource);
//利用視頻刷填充矩形對象
this.rectangle.Fill=videoBrush; //xaml頁面創建容器
}
}
//截取靜態圖片
private void CutImage(){
this.capturesource.CaptureImageAsync();
this.capturesource.CaptureImageCompleted+=(ss,se)=>
{
if(se.Error==null){
this.image.Source=se.Result;
//定義位圖對象
WriteableBitmap bitmap=se.Result;
Image image=new Image();
image.Width=160;
image.Stretch=Stretch.Fill;
//設置Image對象源,顯示圖形
image.Source=bitmap;
this.listbox.Items.Add(image);
}else{
return;
}
}
}
//保存圖片
private void SaveImage(){
//創建對象,源來自image
攝像頭捕獲動態圖形的基本設計過程:
①獲取攝像設備
②設置捕獲源對象
③設置視頻刷
④填充矩形顯示
添加引用
using System.Windows.Media.Imaging;
using System.IO;
public VideoCaptureDevice camera; //定義攝像設備
public CaptureSource capturesource=new CaptureSource();
public VideoBrush videoBrush=new VideoBrush();
//啓動攝像頭
private void Action(){
StartCamera();
//如果允許啓動獲取的攝像頭
if(CaptureDeviceConfiguration.RequestDeviceAccess()){
//啓動攝像頭
capturesource.Start();
}
}
private void StartCamera(){
VideoCaptureDevice cameradevice=CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
//如果沒有配置攝像頭
if(cameradevice==null){
//信息提示
}else{
camera=CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
//設置捕獲源對象設置爲攝像頭
capturesource.VideoCaptureDevice=camera;
//設置視頻刷源
videoBrush.SetSource(capturesource);
//利用視頻刷填充矩形對象
this.rectangle.Fill=videoBrush; //xaml頁面創建容器
}
}
//截取靜態圖片
private void CutImage(){
this.capturesource.CaptureImageAsync();
this.capturesource.CaptureImageCompleted+=(ss,se)=>
{
if(se.Error==null){
this.image.Source=se.Result;
//定義位圖對象
WriteableBitmap bitmap=se.Result;
Image image=new Image();
image.Width=160;
image.Stretch=Stretch.Fill;
//設置Image對象源,顯示圖形
image.Source=bitmap;
this.listbox.Items.Add(image);
}else{
return;
}
}
}
//保存圖片
private void SaveImage(){
//創建對象,源來自image