資源簡介
查了下,發現相關教程有,但有點模糊,也沒有現成的C#winform版的源碼,我就自己根據教程寫了份,注釋也是根據我個人理解寫了許多
代碼片段和文件信息
using?AForge.Video;
using?AForge.Video.DirectShow;
using?System;
using?System.Drawing;
using?System.IO;
using?System.Windows;
using?System.Windows.Forms;
using?System.Windows.Media.Imaging;
using?ZXing;
namespace?二維碼掃描
{
????public?partial?class?Form1?:?Form
????{
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????//攝像設備資源集
????????private?FilterInfoCollection?videoDevices;
????????//單個攝像設備
????????private?VideoCaptureDevice?videoSource;?
????????//開啟攝像后的每次截圖(拍照)
????????Bitmap?img;
????????//掃描樣式的相關參數
????????int?top?=?0;
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????if?(button1.Text?==?“開始掃描“)
????????????{
????????????????button1.Text?=?“停止掃描“;
????????????????//加載資源
????????????????loadVideoSource();
????????????????//每次截圖操作
????????????????videoSource.Newframe?+=?new?NewframeEventHandler(video_Newframe);
????????????????//開啟攝像頭(此時沒有展示拍攝圖像)
????????????????videoSource.Start();
????????????????//根據每次截圖的照片進行掃描圖形
????????????????timer1.Start();
????????????????//展示并畫出掃描樣式
????????????????timer2.Start();
????????????}else
????????????{
????????????????button1.Text?=?“開始掃描“;
????????????????timer1.Stop();
????????????????//展示并畫出掃描樣式
????????????????timer2.Stop();
????????????????CloseVideoSource();
????????????????pictureBox1.Image?=?null;
????????????}
????????}
????????private?void?video_Newframe(object?sender?NewframeEventArgs?eventArgs)
????????{
????????????//拍取每一幀圖片
????????????img?=?(Bitmap)eventArgs.frame.Clone();
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????
????????}
????????private?void?loadVideoSource()
????????{
????????????//獲取所有攝像設備資源
????????????videoDevices?=?new?FilterInfoCollection(FilterCategory.VideoInputDevice);
????????????//讓videoSource為第1個攝像設備
????????????videoSource?=?new?VideoCaptureDevice(videoDevices[0].MonikerString);
????????}
????????private?void?timer1_Tick(object?sender?EventArgs?e)
????????{
????????????try
????????????{
????????????????if?(img?==?null)
????????????????{
????????????????????return;
????????????????}
????????????????#region?將圖片轉換成byte數組
????????????????MemoryStream?ms?=?new?MemoryStream();
????????????????img.Save(ms?System.Drawing.Imaging.ImageFormat.Bmp);
????????????????byte[]?bt?=?ms.GetBuffer();
????????????????ms.Close();
????????????????#endregion
????????????????LuminanceSource?source?=?new?RGBLuminanceSource(bt?img.Width?img.Height);
????????????????BinaryBitmap?bitmap?=?new?BinaryBitmap(new?ZXing.Common.HybridBinarizer(source));
????????????????Result?result;
????????????????try
????????????????{
????????????????????//開始解碼
????????????????????result?=?new?MultiFormatReader().decode(bitmap);
????????????????}
????????????????catch?(ReaderException?re)
????????????????{
????????????????????return;
????????????????}
????????????????if?(result?!=?null)
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\
?????目錄???????????0??2018-07-14?09:27??二維碼掃描\.vs\
?????目錄???????????0??2018-07-14?09:27??二維碼掃描\.vs\二維碼掃描\
?????目錄???????????0??2018-07-14?09:27??二維碼掃描\.vs\二維碼掃描\v14\
?????文件???????27136??2018-07-14?10:21??二維碼掃描\.vs\二維碼掃描\v14\.suo
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\lib\
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\lib\MonoAndroid\
?????文件??????453632??2018-04-14?18:26??二維碼掃描\packages\ZXing.Net.0.16.4\lib\MonoAndroid\zxing.monoandroid.dll
?????文件?????1259008??2018-04-14?18:26??二維碼掃描\packages\ZXing.Net.0.16.4\lib\MonoAndroid\zxing.monoandroid.pdb
?????文件??????599258??2018-04-14?18:26??二維碼掃描\packages\ZXing.Net.0.16.4\lib\MonoAndroid\zxing.monoandroid.xm
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\lib\native\
?????文件?????1285632??2018-04-12?17:50??二維碼掃描\packages\ZXing.Net.0.16.4\lib\native\zxing.pdb
?????文件????????1152??2018-04-12?17:50??二維碼掃描\packages\ZXing.Net.0.16.4\lib\native\zxing.pri
?????文件??????484864??2018-04-12?17:50??二維碼掃描\packages\ZXing.Net.0.16.4\lib\native\zxing.winmd
?????文件??????564414??2018-04-12?17:50??二維碼掃描\packages\ZXing.Net.0.16.4\lib\native\zxing.xm
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20\
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20-cf\
?????文件??????457728??2018-04-14?18:25??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20-cf\zxing.ce2.0.dll
?????文件?????1236480??2018-04-14?18:25??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20-cf\zxing.ce2.0.pdb
?????文件??????604647??2018-04-14?18:25??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20-cf\zxing.ce2.0.xm
?????文件??????456704??2018-04-14?18:39??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20\zxing.dll
?????文件?????1261056??2018-04-14?18:39??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20\zxing.pdb
?????文件??????605913??2018-04-14?18:39??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net20\zxing.xm
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net35\
?????目錄???????????0??2018-07-14?09:29??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net35-cf\
?????文件??????460800??2018-04-14?18:25??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net35-cf\zxing.ce3.5.dll
?????文件?????1234432??2018-04-14?18:25??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net35-cf\zxing.ce3.5.pdb
?????文件??????600225??2018-04-14?18:25??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net35-cf\zxing.ce3.5.xm
?????文件??????454656??2018-04-14?18:39??二維碼掃描\packages\ZXing.Net.0.16.4\lib\net35\zxing.dll
............此處省略134個文件信息
- 上一篇:一個簡單的ASP.NET動態網站
- 下一篇:C#圖片預覽插件源碼
評論
共有 條評論