自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#控制攝像頭實(shí)例談

開發(fā) 后端
本來以后這個(gè)東西再也不會(huì)寫了,沒想到今天幫別人弄攝像頭編程,發(fā)現(xiàn)了這個(gè)問題,記錄下來。希望對大家理解C#控制攝像頭有所幫助。

使用VFW寫的C#控制攝像頭最大的問題就在于需要自己手動(dòng)另起一個(gè)線程。(這里,我們定義一個(gè)叫AviCapture.cs的類,用于引入avicap32.dll以及相關(guān)的內(nèi)容)在avicap32.dll中,CAPTUREPARMS結(jié)構(gòu)里有一個(gè)fYield的東東,代表的意思是另起線程標(biāo)志位,如果為真,則程序重新啟動(dòng)一個(gè)線程用于視頻流的捕獲,默認(rèn)值是假。但是如果你是為了真,你必須要在程序中處理一些潛在的操作,因?yàn)楫?dāng)視頻捕獲時(shí),其他操作并沒有被屏蔽。。在AviCapture這個(gè)類的基礎(chǔ)上定義一個(gè)叫Video的類,實(shí)現(xiàn)控制設(shè)想頭的一些方法,如打開攝像頭,關(guān)閉攝像頭,開始錄像,結(jié)束錄像,拍照片等等。。。。在Video類中還要定義兩個(gè)C#控制攝像頭函數(shù)如下:

  1. publicvoidget()  
  2. {  
  3. AviCapture.SendMessage(this.lwndC,AviCapture.WM_CAP_GET_SEQUENCE_SETUP,AviCapture.SizeOf(Capparms),refCapparms);  
  4. }  
  5.  
  6. publicvoidset()  
  7. {  
  8. AviCapture.SendMessage(this.lwndC,AviCapture.WM_CAP_SET_SEQUENCE_SETUP,AviCapture.SizeOf(Capparms),refCapparms);  

用來獲得和設(shè)置相關(guān)的C#控制攝像頭參數(shù)

最后,在主窗體類中,做如下調(diào)用

  1. video.get();//  
  2. video.Capparms.fYield=true;//另起一個(gè)線程  
  3. video.Capparms.fAbortLeftMouse=false;//鼠標(biāo)左鍵單擊停止為false  
  4. video.Capparms.fAbortRightMouse=false;//鼠標(biāo)右鍵單擊停止為false  
  5. video.set(); 

在這里還有強(qiáng)調(diào)一下,上面的這段函數(shù)要用在視頻預(yù)覽函數(shù)之后(也就是打開攝像頭那個(gè)函數(shù)),否則是不起作用的。

【編輯推薦】

  1. 如何用C#和ADO.NET訪問
  2. 淺析C# Switch語句
  3. C#驗(yàn)證輸入方法詳解
  4. 簡單介紹C# 匿名方法
  5. C# FileSystemWatcher對象
責(zé)任編輯:彭凡 來源: CSDN
相關(guān)推薦

2009-08-21 17:17:49

C#攝像頭編程

2009-08-21 17:55:14

C#獲取攝像頭

2009-08-21 17:11:05

C#攝像頭

2013-03-21 09:56:09

2021-03-11 10:21:55

特斯拉黑客網(wǎng)絡(luò)攻擊

2011-06-08 13:16:48

2024-11-29 16:51:18

2017-06-20 11:45:52

2011-04-25 09:16:10

Windows 8

2012-06-23 20:13:44

HTML5

2015-10-26 00:17:42

2011-05-31 11:12:46

2011-09-08 13:53:20

Linux攝像頭

2009-06-17 11:52:01

Linux

2019-05-20 09:42:04

2011-09-13 15:51:11

PhoneGap AP

2014-07-16 13:36:30

MotionLinux監(jiān)控

2018-06-20 11:54:54

2020-06-04 10:59:10

JavaScript開發(fā)技術(shù)

2016-02-22 10:30:38

AngularJSHTML5攝像頭
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號