├── README.md ├── ScanQRCode.sln ├── ScanQRCode ├── App.config ├── CameraHelper.cs ├── CameraQR.Designer.cs ├── CameraQR.cs ├── CameraQR.resx ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── ScanQRCode.csproj ├── bin │ └── Debug │ │ ├── AForge.Controls.dll │ │ ├── AForge.Controls.xml │ │ ├── AForge.Imaging.dll │ │ ├── AForge.Imaging.xml │ │ ├── AForge.Math.dll │ │ ├── AForge.Math.xml │ │ ├── AForge.Video.DirectShow.dll │ │ ├── AForge.Video.DirectShow.xml │ │ ├── AForge.Video.dll │ │ ├── AForge.Video.xml │ │ ├── AForge.dll │ │ ├── AForge.xml │ │ ├── ScanQRCode.exe │ │ ├── ScanQRCode.exe.config │ │ ├── ScanQRCode.pdb │ │ ├── zxing.dll │ │ ├── zxing.presentation.dll │ │ ├── zxing.presentation.xml │ │ └── zxing.xml ├── obj │ └── Debug │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── ScanQRCode.CameraQR.resources │ │ ├── ScanQRCode.Form1.resources │ │ ├── ScanQRCode.Properties.Resources.resources │ │ ├── ScanQRCode.csproj.CopyComplete │ │ ├── ScanQRCode.csproj.CoreCompileInputs.cache │ │ ├── ScanQRCode.csproj.FileListAbsolute.txt │ │ ├── ScanQRCode.csproj.GenerateResource.cache │ │ ├── ScanQRCode.csprojAssemblyReference.cache │ │ ├── ScanQRCode.exe │ │ ├── ScanQRCode.pdb │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs └── packages.config └── packages ├── AForge.2.2.5 ├── .signature.p7s ├── AForge.2.2.5.nupkg └── lib │ ├── AForge.dll │ └── AForge.xml ├── AForge.Controls.2.2.5 ├── .signature.p7s ├── AForge.Controls.2.2.5.nupkg └── lib │ ├── AForge.Controls.dll │ └── AForge.Controls.xml ├── AForge.Imaging.2.2.5 ├── .signature.p7s ├── AForge.Imaging.2.2.5.nupkg └── lib │ ├── AForge.Imaging.dll │ └── AForge.Imaging.xml ├── AForge.Math.2.2.5 ├── .signature.p7s ├── AForge.Math.2.2.5.nupkg └── lib │ ├── AForge.Math.dll │ └── AForge.Math.xml ├── AForge.Video.2.2.5 ├── .signature.p7s ├── AForge.Video.2.2.5.nupkg └── lib │ ├── AForge.Video.dll │ └── AForge.Video.xml ├── AForge.Video.DirectShow.2.2.5 ├── .signature.p7s ├── AForge.Video.DirectShow.2.2.5.nupkg └── lib │ ├── AForge.Video.DirectShow.dll │ └── AForge.Video.DirectShow.xml └── ZXing.Net.0.16.6 ├── .signature.p7s ├── ZXing.Net.0.16.6.nupkg └── lib ├── native ├── zxing.XML ├── zxing.pri └── zxing.winmd ├── net20-cf ├── zxing.ce2.0.dll └── zxing.ce2.0.xml ├── net20 ├── zxing.XML └── zxing.dll ├── net35-cf ├── zxing.ce3.5.dll └── zxing.ce3.5.xml ├── net35 ├── zxing.XML └── zxing.dll ├── net40 ├── zxing.XML ├── zxing.dll ├── zxing.presentation.XML └── zxing.presentation.dll ├── net45 ├── zxing.XML ├── zxing.dll ├── zxing.presentation.XML └── zxing.presentation.dll ├── net461 ├── zxing.XML ├── zxing.dll ├── zxing.presentation.XML └── zxing.presentation.dll ├── net47 ├── zxing.XML ├── zxing.dll ├── zxing.presentation.XML └── zxing.presentation.dll ├── net48 ├── zxing.XML ├── zxing.dll ├── zxing.presentation.XML └── zxing.presentation.dll ├── netcoreapp3.0 ├── zxing.dll └── zxing.xml ├── netcoreapp3.1 ├── zxing.dll └── zxing.xml ├── netstandard1.0 ├── zxing.dll └── zxing.xml ├── netstandard1.1 ├── zxing.dll └── zxing.xml ├── netstandard1.3 ├── zxing.dll └── zxing.xml ├── netstandard2.0 ├── zxing.dll └── zxing.xml ├── netstandard2.1 ├── zxing.dll └── zxing.xml ├── portable-win+net40+sl4+sl5+wp7+wp71+wp8 ├── zxing.portable.XML └── zxing.portable.dll ├── sl3-wp ├── zxing.wp7.0.XML └── zxing.wp7.0.dll ├── sl4-wp71 ├── zxing.wp7.1.XML └── zxing.wp7.1.dll ├── sl4 ├── zxing.sl4.XML └── zxing.sl4.dll ├── sl5 ├── zxing.sl5.XML └── zxing.sl5.dll ├── uap10 ├── zxing.dll ├── zxing.pri └── zxing.xml ├── windows8-managed ├── zxing.winrt.XML └── zxing.winrt.dll ├── windows8 ├── zxing.XML ├── zxing.pri └── zxing.winmd └── wp8 ├── zxing.wp8.0.XML └── zxing.wp8.0.dll /README.md: -------------------------------------------------------------------------------- 1 | # ScanQRCode 2 | 摄像头识别二维码功能 3 | -------------------------------------------------------------------------------- /ScanQRCode.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.1321 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScanQRCode", "ScanQRCode\ScanQRCode.csproj", "{B5D22991-33FA-4662-9D15-183C979D2FC0}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {B5D22991-33FA-4662-9D15-183C979D2FC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {B5D22991-33FA-4662-9D15-183C979D2FC0}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {B5D22991-33FA-4662-9D15-183C979D2FC0}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {B5D22991-33FA-4662-9D15-183C979D2FC0}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {6DC63A08-E29A-4122-BF63-E7E10740B295} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /ScanQRCode/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ScanQRCode/CameraHelper.cs: -------------------------------------------------------------------------------- 1 | using AForge.Controls; 2 | using AForge.Video; 3 | using AForge.Video.DirectShow; 4 | using System; 5 | using System.Drawing; 6 | using System.Drawing.Imaging; 7 | using System.IO; 8 | 9 | namespace ScanQRCode 10 | { 11 | public class CameraHelper 12 | { 13 | public FilterInfoCollection _videoDevices;//本机摄像硬件设备列表 14 | public VideoSourcePlayer _videoSourcePlayer;//视频画布 15 | public Bitmap img = null;//全局变量,保存每一次捕获的图像 16 | public System.Drawing.Image CaptureImage(VideoSourcePlayer sourcePlayer = null) 17 | { 18 | 19 | if (sourcePlayer == null || sourcePlayer.VideoSource == null) 20 | { 21 | if (_videoSourcePlayer == null) 22 | return null; 23 | else 24 | { 25 | sourcePlayer = _videoSourcePlayer; 26 | } 27 | } 28 | 29 | try 30 | { 31 | if (sourcePlayer.IsRunning) 32 | { 33 | System.Drawing.Image bitmap = sourcePlayer.GetCurrentVideoFrame(); 34 | return bitmap; 35 | } 36 | return null; 37 | 38 | } 39 | catch (Exception ex) 40 | { 41 | return null; 42 | } 43 | } 44 | 45 | /// 截取一帧图像并保存 46 | /// 47 | /// 图像保存路径 48 | /// 保存的图像文件名 49 | /// 如果保存成功,则返回完整路径,否则为 null 50 | public string CaptureImage(string filePath, string fileName = null, VideoSourcePlayer sourcePlayer = null) 51 | { 52 | if (sourcePlayer == null || sourcePlayer.VideoSource == null) 53 | { 54 | if (_videoSourcePlayer == null) 55 | return null; 56 | else 57 | { 58 | sourcePlayer = _videoSourcePlayer; 59 | } 60 | } 61 | 62 | ; 63 | if (!Directory.Exists(filePath)) 64 | { 65 | Directory.CreateDirectory(filePath); 66 | } 67 | try 68 | { 69 | if (sourcePlayer.IsRunning) 70 | { 71 | System.Drawing.Image bitmap = sourcePlayer.GetCurrentVideoFrame(); 72 | if (fileName == null) fileName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"); 73 | string fullPath = Path.Combine(filePath, fileName + ".jpg"); 74 | bitmap.Save(fullPath, ImageFormat.Jpeg); 75 | bitmap.Dispose(); 76 | return fullPath; 77 | } 78 | return null; 79 | 80 | } 81 | catch (Exception ex) 82 | { 83 | return ex.ToString(); 84 | } 85 | } 86 | 87 | public FilterInfoCollection CreateFilterInfoCollection() 88 | { 89 | if (_videoDevices != null) 90 | return _videoDevices; 91 | _videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); 92 | return _videoDevices; 93 | } 94 | 95 | public VideoCaptureDevice ConnectDevice(VideoSourcePlayer videoSourcePlayer, FilterInfo filterInfo = null) 96 | { 97 | VideoCaptureDevice videoSource = new VideoCaptureDevice(); 98 | if (filterInfo == null) 99 | { 100 | videoSource = new VideoCaptureDevice(_videoDevices[_videoDevices.Count - 1].MonikerString); 101 | } 102 | else 103 | { 104 | videoSource = new VideoCaptureDevice(filterInfo.MonikerString); 105 | } 106 | 107 | videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame); 108 | videoSourcePlayer.VideoSource = videoSource; 109 | videoSourcePlayer.Start(); 110 | _videoSourcePlayer = videoSourcePlayer; 111 | return videoSource; 112 | } 113 | 114 | 115 | private void video_NewFrame(object sender, NewFrameEventArgs eventArgs) 116 | { 117 | img = (Bitmap)eventArgs.Frame.Clone(); 118 | } 119 | 120 | public void CloseDevice(VideoSourcePlayer videoSourcePlayer = null) 121 | { 122 | if (videoSourcePlayer == null) 123 | { 124 | if (_videoSourcePlayer == null) 125 | return; 126 | _videoSourcePlayer.SignalToStop(); 127 | //_videoSourcePlayer.WaitForStop(); 128 | } 129 | else 130 | { 131 | videoSourcePlayer.SignalToStop(); 132 | //videoSourcePlayer.WaitForStop(); 133 | } 134 | } 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /ScanQRCode/CameraQR.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScanQRCode 2 | { 3 | partial class CameraQR 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.videoSourcePlayer1 = new AForge.Controls.VideoSourcePlayer(); 32 | this.SuspendLayout(); 33 | // 34 | // videoSourcePlayer1 35 | // 36 | this.videoSourcePlayer1.Dock = System.Windows.Forms.DockStyle.Fill; 37 | this.videoSourcePlayer1.Location = new System.Drawing.Point(0, 0); 38 | this.videoSourcePlayer1.Name = "videoSourcePlayer1"; 39 | this.videoSourcePlayer1.Size = new System.Drawing.Size(537, 387); 40 | this.videoSourcePlayer1.TabIndex = 0; 41 | this.videoSourcePlayer1.Text = "videoSourcePlayer1"; 42 | this.videoSourcePlayer1.VideoSource = null; 43 | // 44 | // CameraQR 45 | // 46 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 47 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 48 | this.ClientSize = new System.Drawing.Size(537, 387); 49 | this.Controls.Add(this.videoSourcePlayer1); 50 | this.Name = "CameraQR"; 51 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 52 | this.Text = "CameraQR"; 53 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.CameraQR_FormClosing); 54 | this.Load += new System.EventHandler(this.CameraQR_Load); 55 | this.ResumeLayout(false); 56 | 57 | } 58 | 59 | #endregion 60 | 61 | private AForge.Controls.VideoSourcePlayer videoSourcePlayer1; 62 | } 63 | } -------------------------------------------------------------------------------- /ScanQRCode/CameraQR.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.IO; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Timers; 11 | using System.Windows.Forms; 12 | using ZXing; 13 | 14 | namespace ScanQRCode 15 | { 16 | public partial class CameraQR : Form 17 | { 18 | public string resultStr = ""; 19 | private AForge.Video.DirectShow.FilterInfoCollection _videoDevices;//摄像设备 20 | System.Timers.Timer timer; 21 | CameraHelper _cameraHelper = new CameraHelper();//摄像操作类 22 | public CameraQR() 23 | { 24 | this.MinimizeBox = false; 25 | this.MaximizeBox = false; 26 | InitializeComponent(); 27 | LoadTitleCenterData(); 28 | CheckForIllegalCrossThreadCalls = false;//非主线程可以操作关闭窗体操作 29 | AddTimer(); 30 | } 31 | /// 32 | /// 定时识别图片二维码 33 | /// 34 | private void AddTimer() 35 | { 36 | timer = new System.Timers.Timer(); 37 | timer.Enabled = true; 38 | timer.Interval = 200; 39 | timer.Start(); 40 | timer.Elapsed += new ElapsedEventHandler(PicToQRCode); 41 | } 42 | 43 | /// 44 | /// 识别图片 45 | /// 46 | /// 47 | /// 48 | private void PicToQRCode(object sender, ElapsedEventArgs e) 49 | { 50 | if (_cameraHelper.img == null) 51 | return; 52 | BinaryBitmap bitmap = null; 53 | try 54 | { 55 | MemoryStream ms = new MemoryStream(); 56 | _cameraHelper.img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); 57 | byte[] bt = ms.GetBuffer(); 58 | ms.Close(); 59 | LuminanceSource source = new RGBLuminanceSource(bt, _cameraHelper.img.Width, _cameraHelper.img.Height); 60 | bitmap = new BinaryBitmap(new ZXing.Common.HybridBinarizer(source)); 61 | } 62 | catch (Exception ex) 63 | { 64 | return; 65 | } 66 | 67 | Result result=null; 68 | try 69 | { 70 | //开始解码 71 | result = new MultiFormatReader().decode(bitmap); 72 | } 73 | catch (ReaderException ex) 74 | { 75 | resultStr = ex.ToString(); 76 | } 77 | if (result != null) 78 | { 79 | resultStr = result.Text; 80 | this.DialogResult = DialogResult.OK; 81 | this.Close(); 82 | } 83 | } 84 | 85 | private void LoadTitleCenterData() 86 | { 87 | string titleMsg = "扫码页面"; 88 | Graphics g = this.CreateGraphics(); 89 | Double startingPoint = (this.Width / 2) - (g.MeasureString(titleMsg, this.Font).Width / 2); 90 | Double widthOfASpace = g.MeasureString(" ", this.Font).Width; 91 | String tmp = " "; 92 | Double tmpWidth = 0; 93 | 94 | while ((tmpWidth + widthOfASpace) < startingPoint) 95 | { 96 | tmp += " "; 97 | tmpWidth += widthOfASpace; 98 | } 99 | this.Text = tmp + titleMsg; 100 | } 101 | 102 | private void CameraQR_Load(object sender, EventArgs e) 103 | { 104 | // 获取视频输入设备 105 | _videoDevices = _cameraHelper.CreateFilterInfoCollection();//获取拍照设备列表 106 | if (_videoDevices.Count == 0) 107 | { 108 | MessageBox.Show("无设备"); 109 | this.Dispose(); 110 | this.Close(); 111 | return; 112 | } 113 | resultStr = "";//二维码识别字符串清空 114 | _cameraHelper.ConnectDevice(videoSourcePlayer1);//连接打开设备 115 | } 116 | 117 | /// 118 | /// 关闭窗口 释放定制器 关闭摄像头 119 | /// 120 | /// 121 | /// 122 | private void CameraQR_FormClosing(object sender, FormClosingEventArgs e) 123 | { 124 | if (timer != null) 125 | { 126 | timer.Dispose(); 127 | } 128 | _cameraHelper.CloseDevice(); 129 | } 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /ScanQRCode/CameraQR.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /ScanQRCode/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace ScanQRCode 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// 必需的设计器变量。 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// 清理所有正在使用的资源。 12 | /// 13 | /// 如果应释放托管资源,为 true;否则为 false。 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows 窗体设计器生成的代码 24 | 25 | /// 26 | /// 设计器支持所需的方法 - 不要修改 27 | /// 使用代码编辑器修改此方法的内容。 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); 32 | this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); 33 | this.panel1 = new System.Windows.Forms.Panel(); 34 | this.button1 = new System.Windows.Forms.Button(); 35 | this.panel2 = new System.Windows.Forms.Panel(); 36 | this.label1 = new System.Windows.Forms.Label(); 37 | this.label2 = new System.Windows.Forms.Label(); 38 | this.tableLayoutPanel1.SuspendLayout(); 39 | this.tableLayoutPanel2.SuspendLayout(); 40 | this.panel1.SuspendLayout(); 41 | this.panel2.SuspendLayout(); 42 | this.SuspendLayout(); 43 | // 44 | // tableLayoutPanel1 45 | // 46 | this.tableLayoutPanel1.ColumnCount = 3; 47 | this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10F)); 48 | this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 80F)); 49 | this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10F)); 50 | this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 1, 1); 51 | this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; 52 | this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); 53 | this.tableLayoutPanel1.Name = "tableLayoutPanel1"; 54 | this.tableLayoutPanel1.RowCount = 3; 55 | this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); 56 | this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 80F)); 57 | this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); 58 | this.tableLayoutPanel1.Size = new System.Drawing.Size(643, 362); 59 | this.tableLayoutPanel1.TabIndex = 0; 60 | // 61 | // tableLayoutPanel2 62 | // 63 | this.tableLayoutPanel2.ColumnCount = 1; 64 | this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); 65 | this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); 66 | this.tableLayoutPanel2.Controls.Add(this.panel1, 0, 0); 67 | this.tableLayoutPanel2.Controls.Add(this.panel2, 0, 1); 68 | this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; 69 | this.tableLayoutPanel2.Location = new System.Drawing.Point(67, 39); 70 | this.tableLayoutPanel2.Name = "tableLayoutPanel2"; 71 | this.tableLayoutPanel2.RowCount = 2; 72 | this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20F)); 73 | this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 80F)); 74 | this.tableLayoutPanel2.Size = new System.Drawing.Size(508, 283); 75 | this.tableLayoutPanel2.TabIndex = 0; 76 | // 77 | // panel1 78 | // 79 | this.panel1.Controls.Add(this.button1); 80 | this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; 81 | this.panel1.Location = new System.Drawing.Point(3, 3); 82 | this.panel1.Name = "panel1"; 83 | this.panel1.Size = new System.Drawing.Size(502, 50); 84 | this.panel1.TabIndex = 0; 85 | // 86 | // button1 87 | // 88 | this.button1.Font = new System.Drawing.Font("宋体", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 89 | this.button1.Location = new System.Drawing.Point(191, 13); 90 | this.button1.Name = "button1"; 91 | this.button1.Size = new System.Drawing.Size(123, 34); 92 | this.button1.TabIndex = 0; 93 | this.button1.Text = "二维码识别"; 94 | this.button1.UseVisualStyleBackColor = true; 95 | this.button1.Click += new System.EventHandler(this.button1_Click); 96 | // 97 | // panel2 98 | // 99 | this.panel2.Controls.Add(this.label2); 100 | this.panel2.Controls.Add(this.label1); 101 | this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; 102 | this.panel2.Location = new System.Drawing.Point(3, 59); 103 | this.panel2.Name = "panel2"; 104 | this.panel2.Size = new System.Drawing.Size(502, 221); 105 | this.panel2.TabIndex = 1; 106 | // 107 | // label1 108 | // 109 | this.label1.AutoSize = true; 110 | this.label1.Font = new System.Drawing.Font("宋体", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 111 | this.label1.Location = new System.Drawing.Point(117, 94); 112 | this.label1.Name = "label1"; 113 | this.label1.Size = new System.Drawing.Size(98, 18); 114 | this.label1.TabIndex = 0; 115 | this.label1.Text = "识别结果:"; 116 | // 117 | // label2 118 | // 119 | this.label2.AutoSize = true; 120 | this.label2.Font = new System.Drawing.Font("宋体", 13F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 121 | this.label2.Location = new System.Drawing.Point(222, 94); 122 | this.label2.Name = "label2"; 123 | this.label2.Size = new System.Drawing.Size(98, 18); 124 | this.label2.TabIndex = 1; 125 | this.label2.Text = "二维码结果"; 126 | // 127 | // Form1 128 | // 129 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 130 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 131 | this.ClientSize = new System.Drawing.Size(643, 362); 132 | this.Controls.Add(this.tableLayoutPanel1); 133 | this.Name = "Form1"; 134 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 135 | this.Text = "Form1"; 136 | this.tableLayoutPanel1.ResumeLayout(false); 137 | this.tableLayoutPanel2.ResumeLayout(false); 138 | this.panel1.ResumeLayout(false); 139 | this.panel2.ResumeLayout(false); 140 | this.panel2.PerformLayout(); 141 | this.ResumeLayout(false); 142 | 143 | } 144 | 145 | #endregion 146 | 147 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; 148 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; 149 | private System.Windows.Forms.Panel panel1; 150 | private System.Windows.Forms.Button button1; 151 | private System.Windows.Forms.Panel panel2; 152 | private System.Windows.Forms.Label label2; 153 | private System.Windows.Forms.Label label1; 154 | } 155 | } 156 | 157 | -------------------------------------------------------------------------------- /ScanQRCode/Form1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace ScanQRCode 12 | { 13 | public partial class Form1 : Form 14 | { 15 | public Form1() 16 | { 17 | this.MinimizeBox = false; 18 | this.MaximizeBox = false; 19 | InitializeComponent(); 20 | LoadTitleCenterData(); 21 | } 22 | 23 | private void LoadTitleCenterData() 24 | { 25 | string titleMsg ="二维码识别主界面"; 26 | Graphics g = this.CreateGraphics(); 27 | Double startingPoint = (this.Width / 2) - (g.MeasureString(titleMsg, this.Font).Width / 2); 28 | Double widthOfASpace = g.MeasureString(" ", this.Font).Width; 29 | String tmp = " "; 30 | Double tmpWidth = 0; 31 | 32 | while ((tmpWidth + widthOfASpace) < startingPoint) 33 | { 34 | tmp += " "; 35 | tmpWidth += widthOfASpace; 36 | } 37 | this.Text = tmp + titleMsg; 38 | } 39 | 40 | private void button1_Click(object sender, EventArgs e) 41 | { 42 | CameraQR camera = new CameraQR(); 43 | var result = camera.ShowDialog(); 44 | if (result == DialogResult.OK) 45 | { 46 | label2.Text = camera.resultStr; 47 | } 48 | 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /ScanQRCode/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /ScanQRCode/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace ScanQRCode 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// 应用程序的主入口点。 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ScanQRCode/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的一般信息由以下 6 | // 控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("ScanQRCode")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ScanQRCode")] 13 | [assembly: AssemblyCopyright("Copyright © 2021")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 会使此程序集中的类型 18 | //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 19 | //请将此类型的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("b5d22991-33fa-4662-9d15-183c979d2fc0")] 24 | 25 | // 程序集的版本信息由下列四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 生成号 30 | // 修订号 31 | // 32 | // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 33 | // 方法是按如下所示使用“*”: : 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /ScanQRCode/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本: 4.0.30319.42000 5 | // 6 | // 对此文件的更改可能导致不正确的行为,如果 7 | // 重新生成代码,则所做更改将丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScanQRCode.Properties 12 | { 13 | 14 | 15 | /// 16 | /// 强类型资源类,用于查找本地化字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// 返回此类使用的缓存 ResourceManager 实例。 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ScanQRCode.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// 覆盖当前线程的 CurrentUICulture 属性 56 | /// 使用此强类型的资源类的资源查找。 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /ScanQRCode/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /ScanQRCode/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ScanQRCode.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ScanQRCode/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ScanQRCode/ScanQRCode.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {B5D22991-33FA-4662-9D15-183C979D2FC0} 8 | WinExe 9 | ScanQRCode 10 | ScanQRCode 11 | v4.6.1 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | ..\packages\AForge.2.2.5\lib\AForge.dll 38 | 39 | 40 | ..\packages\AForge.Controls.2.2.5\lib\AForge.Controls.dll 41 | 42 | 43 | ..\packages\AForge.Imaging.2.2.5\lib\AForge.Imaging.dll 44 | 45 | 46 | ..\packages\AForge.Math.2.2.5\lib\AForge.Math.dll 47 | 48 | 49 | ..\packages\AForge.Video.2.2.5\lib\AForge.Video.dll 50 | 51 | 52 | ..\packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.dll 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | ..\packages\ZXing.Net.0.16.6\lib\net461\zxing.dll 67 | 68 | 69 | ..\packages\ZXing.Net.0.16.6\lib\net461\zxing.presentation.dll 70 | 71 | 72 | 73 | 74 | 75 | Form 76 | 77 | 78 | CameraQR.cs 79 | 80 | 81 | Form 82 | 83 | 84 | Form1.cs 85 | 86 | 87 | 88 | 89 | CameraQR.cs 90 | 91 | 92 | Form1.cs 93 | 94 | 95 | ResXFileCodeGenerator 96 | Resources.Designer.cs 97 | Designer 98 | 99 | 100 | True 101 | Resources.resx 102 | 103 | 104 | 105 | SettingsSingleFileGenerator 106 | Settings.Designer.cs 107 | 108 | 109 | True 110 | Settings.settings 111 | True 112 | 113 | 114 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/AForge.Controls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/AForge.Controls.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/AForge.Imaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/AForge.Imaging.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/AForge.Math.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/AForge.Math.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/AForge.Video.DirectShow.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/AForge.Video.DirectShow.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/AForge.Video.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/AForge.Video.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/AForge.Video.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AForge.Video 5 | 6 | 7 | 8 | 9 | Proxy video source for asynchronous processing of another nested video source. 10 | 11 | 12 | The class represents a simple proxy, which wraps the specified 13 | with the aim of asynchronous processing of received video frames. The class intercepts 14 | event from the nested video source and fires it to clients from its own thread, which is different from the thread 15 | used by nested video source for video acquisition. This allows clients to perform processing of video frames 16 | without blocking video acquisition thread, which continue to run and acquire next video frame while current is still 17 | processed. 18 | 19 | For example, let’s suppose that it takes 100 ms for the nested video source to acquire single frame, so the original 20 | frame rate is 10 frames per second. Also let’s assume that we have an image processing routine, which also takes 21 | 100 ms to process a single frame. If the acquisition and processing are done sequentially, then resulting 22 | frame rate will drop to 5 frames per second. However, if doing both in parallel, then there is a good chance to 23 | keep resulting frame rate equal (or close) to the original frame rate. 24 | 25 | The class provides a bonus side effect - easer debugging of image processing routines, which are put into 26 | event handler. In many cases video source classes fire their 27 | event from a try/catch block, which makes it very hard to spot error made in user's code - the catch block simply 28 | hides exception raised in user’s code. The does not have any try/catch blocks around 29 | firing of event, so always user gets exception in the case it comes from his code. At the same time 30 | nested video source is not affected by the user's exception, since it runs in different thread. 31 | 32 | Sample usage: 33 | 34 | // usage of AsyncVideoSource is the same as usage of any 35 | // other video source class, so code change is very little 36 | 37 | // create nested video source, for example JPEGStream 38 | JPEGStream stream = new JPEGStream( "some url" ); 39 | // create async video source 40 | AsyncVideoSource asyncSource = new AsyncVideoSource( stream ); 41 | // set NewFrame event handler 42 | asyncSource.NewFrame += new NewFrameEventHandler( video_NewFrame ); 43 | // start the video source 44 | asyncSource.Start( ); 45 | // ... 46 | 47 | private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) 48 | { 49 | // get new frame 50 | Bitmap bitmap = eventArgs.Frame; 51 | // process the frame 52 | } 53 | 54 | 55 | 56 | 57 | 58 | 59 | Video source interface. 60 | 61 | 62 | The interface describes common methods for different type of video sources. 63 | 64 | 65 | 66 | 67 | Start video source. 68 | 69 | 70 | Starts video source and return execution to caller. Video source 71 | object creates background thread and notifies about new frames with the 72 | help of event. 73 | 74 | 75 | 76 | 77 | Signal video source to stop its work. 78 | 79 | 80 | Signals video source to stop its background thread, stop to 81 | provide new frames and free resources. 82 | 83 | 84 | 85 | 86 | Wait for video source has stopped. 87 | 88 | 89 | Waits for video source stopping after it was signalled to stop using 90 | method. 91 | 92 | 93 | 94 | 95 | Stop video source. 96 | 97 | 98 | Stops video source aborting its thread. 99 | 100 | 101 | 102 | 103 | New frame event. 104 | 105 | 106 | This event is used to notify clients about new available video frame. 107 | 108 | Since video source may have multiple clients, each client is responsible for 109 | making a copy (cloning) of the passed video frame, but video source is responsible for 110 | disposing its own original copy after notifying of clients. 111 | 112 | 113 | 114 | 115 | 116 | Video source error event. 117 | 118 | 119 | This event is used to notify clients about any type of errors occurred in 120 | video source object, for example internal exceptions. 121 | 122 | 123 | 124 | 125 | Video playing finished event. 126 | 127 | 128 | This event is used to notify clients that the video playing has finished. 129 | 130 | 131 | 132 | 133 | 134 | Video source. 135 | 136 | 137 | The meaning of the property depends on particular video source. 138 | Depending on video source it may be a file name, URL or any other string 139 | describing the video source. 140 | 141 | 142 | 143 | 144 | Received frames count. 145 | 146 | 147 | Number of frames the video source provided from the moment of the last 148 | access to the property. 149 | 150 | 151 | 152 | 153 | 154 | Received bytes count. 155 | 156 | 157 | Number of bytes the video source provided from the moment of the last 158 | access to the property. 159 | 160 | 161 | 162 | 163 | 164 | State of the video source. 165 | 166 | 167 | Current state of video source object - running or not. 168 | 169 | 170 | 171 | 172 | Initializes a new instance of the class. 173 | 174 | 175 | Nested video source which is the target for asynchronous processing. 176 | 177 | 178 | 179 | 180 | Initializes a new instance of the class. 181 | 182 | 183 | Nested video source which is the target for asynchronous processing. 184 | Specifies if the object should skip frames from the nested video source 185 | in the case if it is still busy processing the previous video frame. 186 | 187 | 188 | 189 | 190 | Start video source. 191 | 192 | 193 | Starts the nested video source and returns execution to caller. This object creates 194 | an extra thread which is used to fire events, so the image processing could be 195 | done on another thread without blocking video acquisition thread. 196 | 197 | 198 | 199 | 200 | Signal video source to stop its work. 201 | 202 | 203 | Signals video source to stop its background thread, stop to 204 | provide new frames and free resources. 205 | 206 | 207 | 208 | 209 | Wait for video source has stopped. 210 | 211 | 212 | Waits for video source stopping after it was signalled to stop using 213 | method. 214 | 215 | 216 | 217 | 218 | Stop video source. 219 | 220 | 221 | Stops nested video source by calling its method. 222 | See documentation of the particular video source for additional details. 223 | 224 | 225 | 226 | 227 | New frame event. 228 | 229 | 230 | Notifies clients about new available frame from video source. 231 | 232 | This event is fired from a different thread other than the video acquisition thread created 233 | by . This allows nested video frame to continue acquisition of the next 234 | video frame while clients perform processing of the current video frame. 235 | 236 | Since video source may have multiple clients, each client is responsible for 237 | making a copy (cloning) of the passed video frame, because the video source disposes its 238 | own original copy after notifying of clients. 239 | 240 | 241 | 242 | 243 | 244 | Video source error event. 245 | 246 | 247 | This event is used to notify clients about any type of errors occurred in 248 | video source object, for example internal exceptions. 249 | 250 | Unlike event, this event is simply redirected to the corresponding 251 | event of the , so it is fired from the thread of the nested video source. 252 | 253 | 254 | 255 | 256 | 257 | Video playing finished event. 258 | 259 | 260 | This event is used to notify clients that the video playing has finished. 261 | 262 | Unlike event, this event is simply redirected to the corresponding 263 | event of the , so it is fired from the thread of the nested video source. 264 | 265 | 266 | 267 | 268 | 269 | Nested video source which is the target for asynchronous processing. 270 | 271 | 272 | The property is set through the class constructor. 273 | 274 | All calls to this object are actually redirected to the nested video source. The only 275 | exception is the event, which is handled differently. This object gets 276 | event from the nested class and then fires another 277 | event, but from a different thread. 278 | 279 | 280 | 281 | 282 | 283 | Specifies if the object should skip frames from the nested video source when it is busy. 284 | 285 | 286 | Specifies if the object should skip frames from the nested video source 287 | in the case if it is still busy processing the previous video frame in its own thread. 288 | 289 | Default value is set to . 290 | 291 | 292 | 293 | 294 | Video source string. 295 | 296 | 297 | The property is redirected to the corresponding property of , 298 | so check its documentation to find what it means. 299 | 300 | 301 | 302 | 303 | Received frames count. 304 | 305 | 306 | Number of frames the nested video source received from 307 | the moment of the last access to the property. 308 | 309 | 310 | 311 | 312 | 313 | Received bytes count. 314 | 315 | 316 | Number of bytes the nested video source received from 317 | the moment of the last access to the property. 318 | 319 | 320 | 321 | 322 | Processed frames count. 323 | 324 | 325 | The property keeps the number of processed video frames since the last access to this property. 326 | 327 | 328 | The value of this property equals to in most cases if the 329 | property is set to - every received frame gets processed 330 | sooner or later. However, if the property is set to , 331 | then value of this property may be lower than the value of the property, which 332 | means that nested video source performs acquisition faster than client perform processing of the received frame 333 | and some frame are skipped from processing. 334 | 335 | 336 | 337 | 338 | 339 | State of the video source. 340 | 341 | 342 | Current state of the video source object - running or not. 343 | 344 | 345 | 346 | 347 | Screen capture video source. 348 | 349 | 350 | The video source constantly captures the desktop screen. 351 | 352 | Sample usage: 353 | 354 | // get entire desktop area size 355 | Rectangle screenArea = Rectangle.Empty; 356 | foreach ( System.Windows.Forms.Screen screen in 357 | System.Windows.Forms.Screen.AllScreens ) 358 | { 359 | screenArea = Rectangle.Union( screenArea, screen.Bounds ); 360 | } 361 | 362 | // create screen capture video source 363 | ScreenCaptureStream stream = new ScreenCaptureStream( screenArea ); 364 | 365 | // set NewFrame event handler 366 | stream.NewFrame += new NewFrameEventHandler( video_NewFrame ); 367 | 368 | // start the video source 369 | stream.Start( ); 370 | 371 | // ... 372 | // signal to stop 373 | stream.SignalToStop( ); 374 | // ... 375 | 376 | private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) 377 | { 378 | // get new frame 379 | Bitmap bitmap = eventArgs.Frame; 380 | // process the frame 381 | } 382 | 383 | 384 | 385 | 386 | 387 | 388 | Initializes a new instance of the class. 389 | 390 | 391 | Screen's rectangle to capture (the rectangle may cover multiple displays). 392 | 393 | 394 | 395 | 396 | Initializes a new instance of the class. 397 | 398 | 399 | Screen's rectangle to capture (the rectangle may cover multiple displays). 400 | Time interval between making screen shots, ms. 401 | 402 | 403 | 404 | 405 | Start video source. 406 | 407 | 408 | Starts video source and return execution to caller. Video source 409 | object creates background thread and notifies about new frames with the 410 | help of event. 411 | 412 | Video source is not specified. 413 | 414 | 415 | 416 | 417 | Signal video source to stop its work. 418 | 419 | 420 | Signals video source to stop its background thread, stop to 421 | provide new frames and free resources. 422 | 423 | 424 | 425 | 426 | Wait for video source has stopped. 427 | 428 | 429 | Waits for source stopping after it was signalled to stop using 430 | method. 431 | 432 | 433 | 434 | 435 | Stop video source. 436 | 437 | 438 | Stops video source aborting its thread. 439 | 440 | Since the method aborts background thread, its usage is highly not preferred 441 | and should be done only if there are no other options. The correct way of stopping camera 442 | is signaling it stop and then 443 | waiting for background thread's completion. 444 | 445 | 446 | 447 | 448 | 449 | Free resource. 450 | 451 | 452 | 453 | 454 | 455 | New frame event. 456 | 457 | 458 | Notifies clients about new available frame from video source. 459 | 460 | Since video source may have multiple clients, each client is responsible for 461 | making a copy (cloning) of the passed video frame, because the video source disposes its 462 | own original copy after notifying of clients. 463 | 464 | 465 | 466 | 467 | 468 | Video source error event. 469 | 470 | 471 | This event is used to notify clients about any type of errors occurred in 472 | video source object, for example internal exceptions. 473 | 474 | 475 | 476 | 477 | Video playing finished event. 478 | 479 | 480 | This event is used to notify clients that the video playing has finished. 481 | 482 | 483 | 484 | 485 | 486 | Video source. 487 | 488 | 489 | 490 | 491 | 492 | Gets or sets the screen capture region. 493 | 494 | 495 | This property specifies which region (rectangle) of the screen to capture. It may cover multiple displays 496 | if those are available in the system. 497 | 498 | The property must be set before starting video source to have any effect. 499 | 500 | 501 | 502 | 503 | 504 | Time interval between making screen shots, ms. 505 | 506 | 507 | The property specifies time interval in milliseconds between consequent screen captures. 508 | Expected frame rate of the stream should be approximately 1000/FrameInteval. 509 | 510 | If the property is set to 0, then the stream will capture screen as fast as the system allows. 511 | 512 | Default value is set to 100. 513 | 514 | 515 | 516 | 517 | 518 | Received frames count. 519 | 520 | 521 | Number of frames the video source provided from the moment of the last 522 | access to the property. 523 | 524 | 525 | 526 | 527 | 528 | Received bytes count. 529 | 530 | 531 | The property is not implemented for this video source and always returns 0. 532 | 533 | 534 | 535 | 536 | 537 | State of the video source. 538 | 539 | 540 | Current state of video source object - running or not. 541 | 542 | 543 | 544 | 545 | MJPEG video source. 546 | 547 | 548 | The video source downloads JPEG images from the specified URL, which represents 549 | MJPEG stream. 550 | 551 | Sample usage: 552 | 553 | // create MJPEG video source 554 | MJPEGStream stream = new MJPEGStream( "some url" ); 555 | // set event handlers 556 | stream.NewFrame += new NewFrameEventHandler( video_NewFrame ); 557 | // start the video source 558 | stream.Start( ); 559 | // ... 560 | 561 | 562 | Some cameras produce HTTP header, which does not conform strictly to 563 | standard, what leads to .NET exception. To avoid this exception the useUnsafeHeaderParsing 564 | configuration option of httpWebRequest should be set, what may be done using application 565 | configuration file. 566 | 567 | <configuration> 568 | <system.net> 569 | <settings> 570 | <httpWebRequest useUnsafeHeaderParsing="true" /> 571 | </settings> 572 | </system.net> 573 | </configuration> 574 | 575 | 576 | 577 | 578 | 579 | 580 | Initializes a new instance of the class. 581 | 582 | 583 | 584 | 585 | 586 | Initializes a new instance of the class. 587 | 588 | 589 | URL, which provides MJPEG stream. 590 | 591 | 592 | 593 | 594 | Start video source. 595 | 596 | 597 | Starts video source and return execution to caller. Video source 598 | object creates background thread and notifies about new frames with the 599 | help of event. 600 | 601 | Video source is not specified. 602 | 603 | 604 | 605 | 606 | Signal video source to stop its work. 607 | 608 | 609 | Signals video source to stop its background thread, stop to 610 | provide new frames and free resources. 611 | 612 | 613 | 614 | 615 | Wait for video source has stopped. 616 | 617 | 618 | Waits for source stopping after it was signalled to stop using 619 | method. 620 | 621 | 622 | 623 | 624 | Stop video source. 625 | 626 | 627 | Stops video source aborting its thread. 628 | 629 | Since the method aborts background thread, its usage is highly not preferred 630 | and should be done only if there are no other options. The correct way of stopping camera 631 | is signaling it stop and then 632 | waiting for background thread's completion. 633 | 634 | 635 | 636 | 637 | 638 | Free resource. 639 | 640 | 641 | 642 | 643 | 644 | New frame event. 645 | 646 | 647 | Notifies clients about new available frame from video source. 648 | 649 | Since video source may have multiple clients, each client is responsible for 650 | making a copy (cloning) of the passed video frame, because the video source disposes its 651 | own original copy after notifying of clients. 652 | 653 | 654 | 655 | 656 | 657 | Video source error event. 658 | 659 | 660 | This event is used to notify clients about any type of errors occurred in 661 | video source object, for example internal exceptions. 662 | 663 | 664 | 665 | 666 | Video playing finished event. 667 | 668 | 669 | This event is used to notify clients that the video playing has finished. 670 | 671 | 672 | 673 | 674 | 675 | Use or not separate connection group. 676 | 677 | 678 | The property indicates to open web request in separate connection group. 679 | 680 | 681 | 682 | 683 | Video source. 684 | 685 | 686 | URL, which provides MJPEG stream. 687 | 688 | 689 | 690 | 691 | Login value. 692 | 693 | 694 | Login required to access video source. 695 | 696 | 697 | 698 | 699 | Password value. 700 | 701 | 702 | Password required to access video source. 703 | 704 | 705 | 706 | 707 | Gets or sets proxy information for the request. 708 | 709 | 710 | The local computer or application config file may specify that a default 711 | proxy to be used. If the Proxy property is specified, then the proxy settings from the Proxy 712 | property overridea the local computer or application config file and the instance will use 713 | the proxy settings specified. If no proxy is specified in a config file 714 | and the Proxy property is unspecified, the request uses the proxy settings 715 | inherited from Internet Explorer on the local computer. If there are no proxy settings 716 | in Internet Explorer, the request is sent directly to the server. 717 | 718 | 719 | 720 | 721 | 722 | User agent to specify in HTTP request header. 723 | 724 | 725 | Some IP cameras check what is the requesting user agent and depending 726 | on it they provide video in different formats or do not provide it at all. The property 727 | sets the value of user agent string, which is sent to camera in request header. 728 | 729 | 730 | Default value is set to "Mozilla/5.0". If the value is set to , 731 | the user agent string is not sent in request header. 732 | 733 | 734 | 735 | 736 | 737 | Received frames count. 738 | 739 | 740 | Number of frames the video source provided from the moment of the last 741 | access to the property. 742 | 743 | 744 | 745 | 746 | 747 | Received bytes count. 748 | 749 | 750 | Number of bytes the video source provided from the moment of the last 751 | access to the property. 752 | 753 | 754 | 755 | 756 | 757 | Request timeout value. 758 | 759 | 760 | The property sets timeout value in milliseconds for web requests. 761 | Default value is 10000 milliseconds. 762 | 763 | 764 | 765 | 766 | State of the video source. 767 | 768 | 769 | Current state of video source object - running or not. 770 | 771 | 772 | 773 | 774 | Force using of basic authentication when connecting to the video source. 775 | 776 | 777 | For some IP cameras (TrendNET IP cameras, for example) using standard .NET's authentication via credentials 778 | does not seem to be working (seems like camera does not request for authentication, but expects corresponding headers to be 779 | present on connection request). So this property allows to force basic authentication by adding required HTTP headers when 780 | request is sent. 781 | 782 | Default value is set to . 783 | 784 | 785 | 786 | 787 | 788 | Video related exception. 789 | 790 | 791 | The exception is thrown in the case of some video related issues, like 792 | failure of initializing codec, compression, etc. 793 | 794 | 795 | 796 | 797 | Initializes a new instance of the class. 798 | 799 | 800 | Exception's message. 801 | 802 | 803 | 804 | 805 | Delegate for new frame event handler. 806 | 807 | 808 | Sender object. 809 | Event arguments. 810 | 811 | 812 | 813 | 814 | Delegate for video source error event handler. 815 | 816 | 817 | Sender object. 818 | Event arguments. 819 | 820 | 821 | 822 | 823 | Delegate for playing finished event handler. 824 | 825 | 826 | Sender object. 827 | Reason of finishing video playing. 828 | 829 | 830 | 831 | 832 | Reason of finishing video playing. 833 | 834 | 835 | When video source class fire the event, they 836 | need to specify reason of finishing video playing. For example, it may be end of stream reached. 837 | 838 | 839 | 840 | 841 | Video playing has finished because it end was reached. 842 | 843 | 844 | 845 | 846 | Video playing has finished because it was stopped by user. 847 | 848 | 849 | 850 | 851 | Video playing has finished because the device was lost (unplugged). 852 | 853 | 854 | 855 | 856 | Video playing has finished because of some error happened the video source (camera, stream, file, etc.). 857 | A error reporting event usually is fired to provide error information. 858 | 859 | 860 | 861 | 862 | Arguments for new frame event from video source. 863 | 864 | 865 | 866 | 867 | 868 | Initializes a new instance of the class. 869 | 870 | 871 | New frame. 872 | 873 | 874 | 875 | 876 | New frame from video source. 877 | 878 | 879 | 880 | 881 | 882 | Arguments for video source error event from video source. 883 | 884 | 885 | 886 | 887 | 888 | Initializes a new instance of the class. 889 | 890 | 891 | Error description. 892 | 893 | 894 | 895 | 896 | Video source error description. 897 | 898 | 899 | 900 | 901 | 902 | JPEG video source. 903 | 904 | 905 | The video source constantly downloads JPEG files from the specified URL. 906 | 907 | Sample usage: 908 | 909 | // create JPEG video source 910 | JPEGStream stream = new JPEGStream( "some url" ); 911 | // set NewFrame event handler 912 | stream.NewFrame += new NewFrameEventHandler( video_NewFrame ); 913 | // start the video source 914 | stream.Start( ); 915 | // ... 916 | // signal to stop 917 | stream.SignalToStop( ); 918 | // ... 919 | 920 | private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) 921 | { 922 | // get new frame 923 | Bitmap bitmap = eventArgs.Frame; 924 | // process the frame 925 | } 926 | 927 | 928 | Some cameras produce HTTP header, which does not conform strictly to 929 | standard, what leads to .NET exception. To avoid this exception the useUnsafeHeaderParsing 930 | configuration option of httpWebRequest should be set, what may be done using application 931 | configuration file. 932 | 933 | <configuration> 934 | <system.net> 935 | <settings> 936 | <httpWebRequest useUnsafeHeaderParsing="true" /> 937 | </settings> 938 | </system.net> 939 | </configuration> 940 | 941 | 942 | 943 | 944 | 945 | 946 | Initializes a new instance of the class. 947 | 948 | 949 | 950 | 951 | 952 | Initializes a new instance of the class. 953 | 954 | 955 | URL, which provides JPEG files. 956 | 957 | 958 | 959 | 960 | Start video source. 961 | 962 | 963 | Starts video source and return execution to caller. Video source 964 | object creates background thread and notifies about new frames with the 965 | help of event. 966 | 967 | Video source is not specified. 968 | 969 | 970 | 971 | 972 | Signal video source to stop its work. 973 | 974 | 975 | Signals video source to stop its background thread, stop to 976 | provide new frames and free resources. 977 | 978 | 979 | 980 | 981 | Wait for video source has stopped. 982 | 983 | 984 | Waits for source stopping after it was signalled to stop using 985 | method. 986 | 987 | 988 | 989 | 990 | Stop video source. 991 | 992 | 993 | Stops video source aborting its thread. 994 | 995 | Since the method aborts background thread, its usage is highly not preferred 996 | and should be done only if there are no other options. The correct way of stopping camera 997 | is signaling it stop and then 998 | waiting for background thread's completion. 999 | 1000 | 1001 | 1002 | 1003 | 1004 | Free resource. 1005 | 1006 | 1007 | 1008 | 1009 | 1010 | New frame event. 1011 | 1012 | 1013 | Notifies clients about new available frame from video source. 1014 | 1015 | Since video source may have multiple clients, each client is responsible for 1016 | making a copy (cloning) of the passed video frame, because the video source disposes its 1017 | own original copy after notifying of clients. 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | Video source error event. 1024 | 1025 | 1026 | This event is used to notify clients about any type of errors occurred in 1027 | video source object, for example internal exceptions. 1028 | 1029 | 1030 | 1031 | 1032 | Video playing finished event. 1033 | 1034 | 1035 | This event is used to notify clients that the video playing has finished. 1036 | 1037 | 1038 | 1039 | 1040 | 1041 | Use or not separate connection group. 1042 | 1043 | 1044 | The property indicates to open web request in separate connection group. 1045 | 1046 | 1047 | 1048 | 1049 | Use or not caching. 1050 | 1051 | 1052 | If the property is set to true, then a fake random parameter will be added 1053 | to URL to prevent caching. It's required for clients, who are behind proxy server. 1054 | 1055 | 1056 | 1057 | 1058 | Frame interval. 1059 | 1060 | 1061 | The property sets the interval in milliseconds betwen frames. If the property is 1062 | set to 100, then the desired frame rate will be 10 frames per second. Default value is 0 - 1063 | get new frames as fast as possible. 1064 | 1065 | 1066 | 1067 | 1068 | Video source. 1069 | 1070 | 1071 | URL, which provides JPEG files. 1072 | 1073 | 1074 | 1075 | 1076 | Login value. 1077 | 1078 | 1079 | Login required to access video source. 1080 | 1081 | 1082 | 1083 | 1084 | Password value. 1085 | 1086 | 1087 | Password required to access video source. 1088 | 1089 | 1090 | 1091 | 1092 | Gets or sets proxy information for the request. 1093 | 1094 | 1095 | The local computer or application config file may specify that a default 1096 | proxy to be used. If the Proxy property is specified, then the proxy settings from the Proxy 1097 | property overridea the local computer or application config file and the instance will use 1098 | the proxy settings specified. If no proxy is specified in a config file 1099 | and the Proxy property is unspecified, the request uses the proxy settings 1100 | inherited from Internet Explorer on the local computer. If there are no proxy settings 1101 | in Internet Explorer, the request is sent directly to the server. 1102 | 1103 | 1104 | 1105 | 1106 | 1107 | Received frames count. 1108 | 1109 | 1110 | Number of frames the video source provided from the moment of the last 1111 | access to the property. 1112 | 1113 | 1114 | 1115 | 1116 | 1117 | Received bytes count. 1118 | 1119 | 1120 | Number of bytes the video source provided from the moment of the last 1121 | access to the property. 1122 | 1123 | 1124 | 1125 | 1126 | 1127 | Request timeout value. 1128 | 1129 | 1130 | The property sets timeout value in milliseconds for web requests. 1131 | 1132 | Default value is set 10000 milliseconds. 1133 | 1134 | 1135 | 1136 | 1137 | State of the video source. 1138 | 1139 | 1140 | Current state of video source object - running or not. 1141 | 1142 | 1143 | 1144 | 1145 | Force using of basic authentication when connecting to the video source. 1146 | 1147 | 1148 | For some IP cameras (TrendNET IP cameras, for example) using standard .NET's authentication via credentials 1149 | does not seem to be working (seems like camera does not request for authentication, but expects corresponding headers to be 1150 | present on connection request). So this property allows to force basic authentication by adding required HTTP headers when 1151 | request is sent. 1152 | 1153 | Default value is set to . 1154 | 1155 | 1156 | 1157 | 1158 | 1159 | Some internal utilities for handling arrays. 1160 | 1161 | 1162 | 1163 | 1164 | 1165 | Check if the array contains needle at specified position. 1166 | 1167 | 1168 | Source array to check for needle. 1169 | Needle we are searching for. 1170 | Start index in source array. 1171 | 1172 | Returns true if the source array contains the needle at 1173 | the specified index. Otherwise it returns false. 1174 | 1175 | 1176 | 1177 | 1178 | Find subarray in the source array. 1179 | 1180 | 1181 | Source array to search for needle. 1182 | Needle we are searching for. 1183 | Start index in source array. 1184 | Number of bytes in source array, where the needle is searched for. 1185 | 1186 | Returns starting position of the needle if it was found or -1 otherwise. 1187 | 1188 | 1189 | 1190 | 1191 | -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/AForge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/AForge.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/ScanQRCode.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/ScanQRCode.exe -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/ScanQRCode.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/ScanQRCode.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/ScanQRCode.pdb -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/zxing.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/zxing.presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/bin/Debug/zxing.presentation.dll -------------------------------------------------------------------------------- /ScanQRCode/bin/Debug/zxing.presentation.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | zxing.presentation 5 | 6 | 7 | 8 | 9 | A smart class to decode the barcode inside a bitmap object which is derived from BitmapSource 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | 21 | Sets the reader which should be used to find and decode the barcode. 22 | If null then MultiFormatReader is used 23 | Sets the function to create a luminance source object for a bitmap. 24 | If null, default is used 25 | Sets the function to create a binarizer object for a luminance source. 26 | If null then HybridBinarizer is used 27 | 28 | 29 | 30 | Initializes a new instance of the class. 31 | 32 | Sets the reader which should be used to find and decode the barcode. 33 | If null then MultiFormatReader is used 34 | Sets the function to create a luminance source object for a bitmap. 35 | If null, default is used 36 | Sets the function to create a binarizer object for a luminance source. 37 | If null then HybridBinarizer is used 38 | The create RGB luminance source. 39 | 40 | 41 | 42 | A smart class to encode some content to a barcode image 43 | 44 | 45 | 46 | 47 | Initializes a new instance of the class. 48 | 49 | 50 | 51 | 52 | A smart class to encode some content to a barcode image into a geometry 53 | Autor: Rob Fonseca-Ensor 54 | 55 | 56 | 57 | 58 | Initializes a new instance of the class. 59 | 60 | 61 | 62 | 63 | extensions methods which are working directly on any IBarcodeReaderGeneric implementation 64 | 65 | 66 | 67 | 68 | uses the IBarcodeReaderGeneric implementation and the class for decoding 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | uses the IBarcodeReaderGeneric implementation and the class for decoding 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 85 | 86 | 87 | 88 | 89 | uses the BarcodeWriterGeneric implementation and the class for decoding 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 98 | 99 | 100 | 101 | 102 | uses the BarcodeWriterGeneric implementation and the class for decoding 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | class which represents the luminance source values for bitmap source objects 111 | 112 | 113 | 114 | 115 | Initializes a new instance of the class. 116 | 117 | The width. 118 | The height. 119 | 120 | 121 | 122 | Initializes a new instance of the class. 123 | 124 | The bitmap. 125 | 126 | 127 | 128 | Should create a new luminance source with the right class type. 129 | The method is used in methods crop and rotate. 130 | 131 | The new luminances. 132 | The width. 133 | The height. 134 | 135 | 136 | 137 | 138 | Renders a barcode into a geometry 139 | Autor: Rob Fonseca-Ensor 140 | 141 | 142 | 143 | 144 | Renders the specified matrix. 145 | 146 | The matrix. 147 | The format. 148 | The content. 149 | 150 | 151 | 152 | 153 | Renders the specified matrix. 154 | 155 | The matrix. 156 | The format. 157 | The content. 158 | The options. 159 | 160 | 161 | 162 | 163 | Renders a to a 164 | 165 | 166 | 167 | 168 | Gets or sets the foreground color. 169 | 170 | 171 | The foreground color. 172 | 173 | 174 | 175 | 176 | Gets or sets the background color. 177 | 178 | 179 | The background color. 180 | 181 | 182 | 183 | 184 | Gets or sets the font family. 185 | 186 | 187 | The font family. 188 | 189 | 190 | 191 | 192 | Gets or sets the size of the font. 193 | 194 | 195 | The size of the font. 196 | 197 | 198 | 199 | 200 | Gets or sets the font stretch. 201 | 202 | 203 | The font stretch. 204 | 205 | 206 | 207 | 208 | Gets or sets the font style. 209 | 210 | 211 | The font style. 212 | 213 | 214 | 215 | 216 | Gets or sets the font weight. 217 | 218 | 219 | The font weight. 220 | 221 | 222 | 223 | 224 | Initializes a new instance of the class. 225 | 226 | 227 | 228 | 229 | Renders the specified matrix. 230 | 231 | The matrix. 232 | The format. 233 | The content. 234 | 235 | 236 | 237 | 238 | Renders the specified matrix. 239 | 240 | The matrix. 241 | The format. 242 | The content. 243 | The options. 244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.CameraQR.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.CameraQR.resources -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.Form1.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.Form1.resources -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.Properties.Resources.resources -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.csproj.CopyComplete -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 09180263a49ce426213096679c4e4052bf69b35f 2 | -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\ScanQRCode.exe.config 2 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\ScanQRCode.exe 3 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\ScanQRCode.pdb 4 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.csprojAssemblyReference.cache 5 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.Form1.resources 6 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.Properties.Resources.resources 7 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.csproj.GenerateResource.cache 8 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.csproj.CoreCompileInputs.cache 9 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.exe 10 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.pdb 11 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Controls.dll 12 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.dll 13 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Imaging.dll 14 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Math.dll 15 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Video.DirectShow.dll 16 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Video.dll 17 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.xml 18 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Controls.xml 19 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Imaging.xml 20 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Math.xml 21 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Video.xml 22 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\AForge.Video.DirectShow.xml 23 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.CameraQR.resources 24 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\obj\Debug\ScanQRCode.csproj.CopyComplete 25 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\zxing.dll 26 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\zxing.presentation.dll 27 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\zxing.xml 28 | C:\Users\Administrator\source\repos\ScanQRCode\ScanQRCode\bin\Debug\zxing.presentation.xml 29 | -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.exe -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/ScanQRCode.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/ScanQRCode.pdb -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /ScanQRCode/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/ScanQRCode/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /ScanQRCode/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/AForge.2.2.5/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.2.2.5/.signature.p7s -------------------------------------------------------------------------------- /packages/AForge.2.2.5/AForge.2.2.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.2.2.5/AForge.2.2.5.nupkg -------------------------------------------------------------------------------- /packages/AForge.2.2.5/lib/AForge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.2.2.5/lib/AForge.dll -------------------------------------------------------------------------------- /packages/AForge.Controls.2.2.5/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Controls.2.2.5/.signature.p7s -------------------------------------------------------------------------------- /packages/AForge.Controls.2.2.5/AForge.Controls.2.2.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Controls.2.2.5/AForge.Controls.2.2.5.nupkg -------------------------------------------------------------------------------- /packages/AForge.Controls.2.2.5/lib/AForge.Controls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Controls.2.2.5/lib/AForge.Controls.dll -------------------------------------------------------------------------------- /packages/AForge.Imaging.2.2.5/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Imaging.2.2.5/.signature.p7s -------------------------------------------------------------------------------- /packages/AForge.Imaging.2.2.5/AForge.Imaging.2.2.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Imaging.2.2.5/AForge.Imaging.2.2.5.nupkg -------------------------------------------------------------------------------- /packages/AForge.Imaging.2.2.5/lib/AForge.Imaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Imaging.2.2.5/lib/AForge.Imaging.dll -------------------------------------------------------------------------------- /packages/AForge.Math.2.2.5/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Math.2.2.5/.signature.p7s -------------------------------------------------------------------------------- /packages/AForge.Math.2.2.5/AForge.Math.2.2.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Math.2.2.5/AForge.Math.2.2.5.nupkg -------------------------------------------------------------------------------- /packages/AForge.Math.2.2.5/lib/AForge.Math.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Math.2.2.5/lib/AForge.Math.dll -------------------------------------------------------------------------------- /packages/AForge.Video.2.2.5/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Video.2.2.5/.signature.p7s -------------------------------------------------------------------------------- /packages/AForge.Video.2.2.5/AForge.Video.2.2.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Video.2.2.5/AForge.Video.2.2.5.nupkg -------------------------------------------------------------------------------- /packages/AForge.Video.2.2.5/lib/AForge.Video.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Video.2.2.5/lib/AForge.Video.dll -------------------------------------------------------------------------------- /packages/AForge.Video.DirectShow.2.2.5/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Video.DirectShow.2.2.5/.signature.p7s -------------------------------------------------------------------------------- /packages/AForge.Video.DirectShow.2.2.5/AForge.Video.DirectShow.2.2.5.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Video.DirectShow.2.2.5/AForge.Video.DirectShow.2.2.5.nupkg -------------------------------------------------------------------------------- /packages/AForge.Video.DirectShow.2.2.5/lib/AForge.Video.DirectShow.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/AForge.Video.DirectShow.2.2.5/lib/AForge.Video.DirectShow.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/.signature.p7s -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/ZXing.Net.0.16.6.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/ZXing.Net.0.16.6.nupkg -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/native/zxing.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/native/zxing.pri -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/native/zxing.winmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/native/zxing.winmd -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net20-cf/zxing.ce2.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net20-cf/zxing.ce2.0.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net20/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net20/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net35-cf/zxing.ce3.5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net35-cf/zxing.ce3.5.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net35/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net35/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net40/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net40/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net40/zxing.presentation.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | zxing.presentation 5 | 6 | 7 | 8 | 9 | A smart class to decode the barcode inside a bitmap object which is derived from BitmapSource 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | 21 | Sets the reader which should be used to find and decode the barcode. 22 | If null then MultiFormatReader is used 23 | Sets the function to create a luminance source object for a bitmap. 24 | If null, default is used 25 | Sets the function to create a binarizer object for a luminance source. 26 | If null then HybridBinarizer is used 27 | 28 | 29 | 30 | Initializes a new instance of the class. 31 | 32 | Sets the reader which should be used to find and decode the barcode. 33 | If null then MultiFormatReader is used 34 | Sets the function to create a luminance source object for a bitmap. 35 | If null, default is used 36 | Sets the function to create a binarizer object for a luminance source. 37 | If null then HybridBinarizer is used 38 | The create RGB luminance source. 39 | 40 | 41 | 42 | A smart class to encode some content to a barcode image 43 | 44 | 45 | 46 | 47 | Initializes a new instance of the class. 48 | 49 | 50 | 51 | 52 | A smart class to encode some content to a barcode image into a geometry 53 | Autor: Rob Fonseca-Ensor 54 | 55 | 56 | 57 | 58 | Initializes a new instance of the class. 59 | 60 | 61 | 62 | 63 | extensions methods which are working directly on any IBarcodeReaderGeneric implementation 64 | 65 | 66 | 67 | 68 | uses the IBarcodeReaderGeneric implementation and the class for decoding 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | uses the IBarcodeReaderGeneric implementation and the class for decoding 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 85 | 86 | 87 | 88 | 89 | uses the BarcodeWriterGeneric implementation and the class for decoding 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 98 | 99 | 100 | 101 | 102 | uses the BarcodeWriterGeneric implementation and the class for decoding 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | class which represents the luminance source values for bitmap source objects 111 | 112 | 113 | 114 | 115 | Initializes a new instance of the class. 116 | 117 | The width. 118 | The height. 119 | 120 | 121 | 122 | Initializes a new instance of the class. 123 | 124 | The bitmap. 125 | 126 | 127 | 128 | Should create a new luminance source with the right class type. 129 | The method is used in methods crop and rotate. 130 | 131 | The new luminances. 132 | The width. 133 | The height. 134 | 135 | 136 | 137 | 138 | Renders a barcode into a geometry 139 | Autor: Rob Fonseca-Ensor 140 | 141 | 142 | 143 | 144 | Renders the specified matrix. 145 | 146 | The matrix. 147 | The format. 148 | The content. 149 | 150 | 151 | 152 | 153 | Renders the specified matrix. 154 | 155 | The matrix. 156 | The format. 157 | The content. 158 | The options. 159 | 160 | 161 | 162 | 163 | Renders a to a 164 | 165 | 166 | 167 | 168 | Gets or sets the foreground color. 169 | 170 | 171 | The foreground color. 172 | 173 | 174 | 175 | 176 | Gets or sets the background color. 177 | 178 | 179 | The background color. 180 | 181 | 182 | 183 | 184 | Gets or sets the font family. 185 | 186 | 187 | The font family. 188 | 189 | 190 | 191 | 192 | Gets or sets the size of the font. 193 | 194 | 195 | The size of the font. 196 | 197 | 198 | 199 | 200 | Gets or sets the font stretch. 201 | 202 | 203 | The font stretch. 204 | 205 | 206 | 207 | 208 | Gets or sets the font style. 209 | 210 | 211 | The font style. 212 | 213 | 214 | 215 | 216 | Gets or sets the font weight. 217 | 218 | 219 | The font weight. 220 | 221 | 222 | 223 | 224 | Initializes a new instance of the class. 225 | 226 | 227 | 228 | 229 | Renders the specified matrix. 230 | 231 | The matrix. 232 | The format. 233 | The content. 234 | 235 | 236 | 237 | 238 | Renders the specified matrix. 239 | 240 | The matrix. 241 | The format. 242 | The content. 243 | The options. 244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net40/zxing.presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net40/zxing.presentation.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net45/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net45/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net45/zxing.presentation.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | zxing.presentation 5 | 6 | 7 | 8 | 9 | A smart class to decode the barcode inside a bitmap object which is derived from BitmapSource 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | 21 | Sets the reader which should be used to find and decode the barcode. 22 | If null then MultiFormatReader is used 23 | Sets the function to create a luminance source object for a bitmap. 24 | If null, default is used 25 | Sets the function to create a binarizer object for a luminance source. 26 | If null then HybridBinarizer is used 27 | 28 | 29 | 30 | Initializes a new instance of the class. 31 | 32 | Sets the reader which should be used to find and decode the barcode. 33 | If null then MultiFormatReader is used 34 | Sets the function to create a luminance source object for a bitmap. 35 | If null, default is used 36 | Sets the function to create a binarizer object for a luminance source. 37 | If null then HybridBinarizer is used 38 | The create RGB luminance source. 39 | 40 | 41 | 42 | A smart class to encode some content to a barcode image 43 | 44 | 45 | 46 | 47 | Initializes a new instance of the class. 48 | 49 | 50 | 51 | 52 | A smart class to encode some content to a barcode image into a geometry 53 | Autor: Rob Fonseca-Ensor 54 | 55 | 56 | 57 | 58 | Initializes a new instance of the class. 59 | 60 | 61 | 62 | 63 | extensions methods which are working directly on any IBarcodeReaderGeneric implementation 64 | 65 | 66 | 67 | 68 | uses the IBarcodeReaderGeneric implementation and the class for decoding 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | uses the IBarcodeReaderGeneric implementation and the class for decoding 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 85 | 86 | 87 | 88 | 89 | uses the BarcodeWriterGeneric implementation and the class for decoding 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 98 | 99 | 100 | 101 | 102 | uses the BarcodeWriterGeneric implementation and the class for decoding 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | class which represents the luminance source values for bitmap source objects 111 | 112 | 113 | 114 | 115 | Initializes a new instance of the class. 116 | 117 | The width. 118 | The height. 119 | 120 | 121 | 122 | Initializes a new instance of the class. 123 | 124 | The bitmap. 125 | 126 | 127 | 128 | Should create a new luminance source with the right class type. 129 | The method is used in methods crop and rotate. 130 | 131 | The new luminances. 132 | The width. 133 | The height. 134 | 135 | 136 | 137 | 138 | Renders a barcode into a geometry 139 | Autor: Rob Fonseca-Ensor 140 | 141 | 142 | 143 | 144 | Renders the specified matrix. 145 | 146 | The matrix. 147 | The format. 148 | The content. 149 | 150 | 151 | 152 | 153 | Renders the specified matrix. 154 | 155 | The matrix. 156 | The format. 157 | The content. 158 | The options. 159 | 160 | 161 | 162 | 163 | Renders a to a 164 | 165 | 166 | 167 | 168 | Gets or sets the foreground color. 169 | 170 | 171 | The foreground color. 172 | 173 | 174 | 175 | 176 | Gets or sets the background color. 177 | 178 | 179 | The background color. 180 | 181 | 182 | 183 | 184 | Gets or sets the font family. 185 | 186 | 187 | The font family. 188 | 189 | 190 | 191 | 192 | Gets or sets the size of the font. 193 | 194 | 195 | The size of the font. 196 | 197 | 198 | 199 | 200 | Gets or sets the font stretch. 201 | 202 | 203 | The font stretch. 204 | 205 | 206 | 207 | 208 | Gets or sets the font style. 209 | 210 | 211 | The font style. 212 | 213 | 214 | 215 | 216 | Gets or sets the font weight. 217 | 218 | 219 | The font weight. 220 | 221 | 222 | 223 | 224 | Initializes a new instance of the class. 225 | 226 | 227 | 228 | 229 | Renders the specified matrix. 230 | 231 | The matrix. 232 | The format. 233 | The content. 234 | 235 | 236 | 237 | 238 | Renders the specified matrix. 239 | 240 | The matrix. 241 | The format. 242 | The content. 243 | The options. 244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net45/zxing.presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net45/zxing.presentation.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net461/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net461/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net461/zxing.presentation.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | zxing.presentation 5 | 6 | 7 | 8 | 9 | A smart class to decode the barcode inside a bitmap object which is derived from BitmapSource 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | 21 | Sets the reader which should be used to find and decode the barcode. 22 | If null then MultiFormatReader is used 23 | Sets the function to create a luminance source object for a bitmap. 24 | If null, default is used 25 | Sets the function to create a binarizer object for a luminance source. 26 | If null then HybridBinarizer is used 27 | 28 | 29 | 30 | Initializes a new instance of the class. 31 | 32 | Sets the reader which should be used to find and decode the barcode. 33 | If null then MultiFormatReader is used 34 | Sets the function to create a luminance source object for a bitmap. 35 | If null, default is used 36 | Sets the function to create a binarizer object for a luminance source. 37 | If null then HybridBinarizer is used 38 | The create RGB luminance source. 39 | 40 | 41 | 42 | A smart class to encode some content to a barcode image 43 | 44 | 45 | 46 | 47 | Initializes a new instance of the class. 48 | 49 | 50 | 51 | 52 | A smart class to encode some content to a barcode image into a geometry 53 | Autor: Rob Fonseca-Ensor 54 | 55 | 56 | 57 | 58 | Initializes a new instance of the class. 59 | 60 | 61 | 62 | 63 | extensions methods which are working directly on any IBarcodeReaderGeneric implementation 64 | 65 | 66 | 67 | 68 | uses the IBarcodeReaderGeneric implementation and the class for decoding 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | uses the IBarcodeReaderGeneric implementation and the class for decoding 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 85 | 86 | 87 | 88 | 89 | uses the BarcodeWriterGeneric implementation and the class for decoding 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 98 | 99 | 100 | 101 | 102 | uses the BarcodeWriterGeneric implementation and the class for decoding 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | class which represents the luminance source values for bitmap source objects 111 | 112 | 113 | 114 | 115 | Initializes a new instance of the class. 116 | 117 | The width. 118 | The height. 119 | 120 | 121 | 122 | Initializes a new instance of the class. 123 | 124 | The bitmap. 125 | 126 | 127 | 128 | Should create a new luminance source with the right class type. 129 | The method is used in methods crop and rotate. 130 | 131 | The new luminances. 132 | The width. 133 | The height. 134 | 135 | 136 | 137 | 138 | Renders a barcode into a geometry 139 | Autor: Rob Fonseca-Ensor 140 | 141 | 142 | 143 | 144 | Renders the specified matrix. 145 | 146 | The matrix. 147 | The format. 148 | The content. 149 | 150 | 151 | 152 | 153 | Renders the specified matrix. 154 | 155 | The matrix. 156 | The format. 157 | The content. 158 | The options. 159 | 160 | 161 | 162 | 163 | Renders a to a 164 | 165 | 166 | 167 | 168 | Gets or sets the foreground color. 169 | 170 | 171 | The foreground color. 172 | 173 | 174 | 175 | 176 | Gets or sets the background color. 177 | 178 | 179 | The background color. 180 | 181 | 182 | 183 | 184 | Gets or sets the font family. 185 | 186 | 187 | The font family. 188 | 189 | 190 | 191 | 192 | Gets or sets the size of the font. 193 | 194 | 195 | The size of the font. 196 | 197 | 198 | 199 | 200 | Gets or sets the font stretch. 201 | 202 | 203 | The font stretch. 204 | 205 | 206 | 207 | 208 | Gets or sets the font style. 209 | 210 | 211 | The font style. 212 | 213 | 214 | 215 | 216 | Gets or sets the font weight. 217 | 218 | 219 | The font weight. 220 | 221 | 222 | 223 | 224 | Initializes a new instance of the class. 225 | 226 | 227 | 228 | 229 | Renders the specified matrix. 230 | 231 | The matrix. 232 | The format. 233 | The content. 234 | 235 | 236 | 237 | 238 | Renders the specified matrix. 239 | 240 | The matrix. 241 | The format. 242 | The content. 243 | The options. 244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net461/zxing.presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net461/zxing.presentation.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net47/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net47/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net47/zxing.presentation.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | zxing.presentation 5 | 6 | 7 | 8 | 9 | A smart class to decode the barcode inside a bitmap object which is derived from BitmapSource 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | 21 | Sets the reader which should be used to find and decode the barcode. 22 | If null then MultiFormatReader is used 23 | Sets the function to create a luminance source object for a bitmap. 24 | If null, default is used 25 | Sets the function to create a binarizer object for a luminance source. 26 | If null then HybridBinarizer is used 27 | 28 | 29 | 30 | Initializes a new instance of the class. 31 | 32 | Sets the reader which should be used to find and decode the barcode. 33 | If null then MultiFormatReader is used 34 | Sets the function to create a luminance source object for a bitmap. 35 | If null, default is used 36 | Sets the function to create a binarizer object for a luminance source. 37 | If null then HybridBinarizer is used 38 | The create RGB luminance source. 39 | 40 | 41 | 42 | A smart class to encode some content to a barcode image 43 | 44 | 45 | 46 | 47 | Initializes a new instance of the class. 48 | 49 | 50 | 51 | 52 | A smart class to encode some content to a barcode image into a geometry 53 | Autor: Rob Fonseca-Ensor 54 | 55 | 56 | 57 | 58 | Initializes a new instance of the class. 59 | 60 | 61 | 62 | 63 | extensions methods which are working directly on any IBarcodeReaderGeneric implementation 64 | 65 | 66 | 67 | 68 | uses the IBarcodeReaderGeneric implementation and the class for decoding 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | uses the IBarcodeReaderGeneric implementation and the class for decoding 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 85 | 86 | 87 | 88 | 89 | uses the BarcodeWriterGeneric implementation and the class for decoding 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 98 | 99 | 100 | 101 | 102 | uses the BarcodeWriterGeneric implementation and the class for decoding 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | class which represents the luminance source values for bitmap source objects 111 | 112 | 113 | 114 | 115 | Initializes a new instance of the class. 116 | 117 | The width. 118 | The height. 119 | 120 | 121 | 122 | Initializes a new instance of the class. 123 | 124 | The bitmap. 125 | 126 | 127 | 128 | Should create a new luminance source with the right class type. 129 | The method is used in methods crop and rotate. 130 | 131 | The new luminances. 132 | The width. 133 | The height. 134 | 135 | 136 | 137 | 138 | Renders a barcode into a geometry 139 | Autor: Rob Fonseca-Ensor 140 | 141 | 142 | 143 | 144 | Renders the specified matrix. 145 | 146 | The matrix. 147 | The format. 148 | The content. 149 | 150 | 151 | 152 | 153 | Renders the specified matrix. 154 | 155 | The matrix. 156 | The format. 157 | The content. 158 | The options. 159 | 160 | 161 | 162 | 163 | Renders a to a 164 | 165 | 166 | 167 | 168 | Gets or sets the foreground color. 169 | 170 | 171 | The foreground color. 172 | 173 | 174 | 175 | 176 | Gets or sets the background color. 177 | 178 | 179 | The background color. 180 | 181 | 182 | 183 | 184 | Gets or sets the font family. 185 | 186 | 187 | The font family. 188 | 189 | 190 | 191 | 192 | Gets or sets the size of the font. 193 | 194 | 195 | The size of the font. 196 | 197 | 198 | 199 | 200 | Gets or sets the font stretch. 201 | 202 | 203 | The font stretch. 204 | 205 | 206 | 207 | 208 | Gets or sets the font style. 209 | 210 | 211 | The font style. 212 | 213 | 214 | 215 | 216 | Gets or sets the font weight. 217 | 218 | 219 | The font weight. 220 | 221 | 222 | 223 | 224 | Initializes a new instance of the class. 225 | 226 | 227 | 228 | 229 | Renders the specified matrix. 230 | 231 | The matrix. 232 | The format. 233 | The content. 234 | 235 | 236 | 237 | 238 | Renders the specified matrix. 239 | 240 | The matrix. 241 | The format. 242 | The content. 243 | The options. 244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net47/zxing.presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net47/zxing.presentation.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net48/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net48/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net48/zxing.presentation.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | zxing.presentation 5 | 6 | 7 | 8 | 9 | A smart class to decode the barcode inside a bitmap object which is derived from BitmapSource 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | 21 | Sets the reader which should be used to find and decode the barcode. 22 | If null then MultiFormatReader is used 23 | Sets the function to create a luminance source object for a bitmap. 24 | If null, default is used 25 | Sets the function to create a binarizer object for a luminance source. 26 | If null then HybridBinarizer is used 27 | 28 | 29 | 30 | Initializes a new instance of the class. 31 | 32 | Sets the reader which should be used to find and decode the barcode. 33 | If null then MultiFormatReader is used 34 | Sets the function to create a luminance source object for a bitmap. 35 | If null, default is used 36 | Sets the function to create a binarizer object for a luminance source. 37 | If null then HybridBinarizer is used 38 | The create RGB luminance source. 39 | 40 | 41 | 42 | A smart class to encode some content to a barcode image 43 | 44 | 45 | 46 | 47 | Initializes a new instance of the class. 48 | 49 | 50 | 51 | 52 | A smart class to encode some content to a barcode image into a geometry 53 | Autor: Rob Fonseca-Ensor 54 | 55 | 56 | 57 | 58 | Initializes a new instance of the class. 59 | 60 | 61 | 62 | 63 | extensions methods which are working directly on any IBarcodeReaderGeneric implementation 64 | 65 | 66 | 67 | 68 | uses the IBarcodeReaderGeneric implementation and the class for decoding 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | uses the IBarcodeReaderGeneric implementation and the class for decoding 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 85 | 86 | 87 | 88 | 89 | uses the BarcodeWriterGeneric implementation and the class for decoding 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | extensions methods which are working directly on any BarcodeWriterGeneric implementation 98 | 99 | 100 | 101 | 102 | uses the BarcodeWriterGeneric implementation and the class for decoding 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | class which represents the luminance source values for bitmap source objects 111 | 112 | 113 | 114 | 115 | Initializes a new instance of the class. 116 | 117 | The width. 118 | The height. 119 | 120 | 121 | 122 | Initializes a new instance of the class. 123 | 124 | The bitmap. 125 | 126 | 127 | 128 | Should create a new luminance source with the right class type. 129 | The method is used in methods crop and rotate. 130 | 131 | The new luminances. 132 | The width. 133 | The height. 134 | 135 | 136 | 137 | 138 | Renders a barcode into a geometry 139 | Autor: Rob Fonseca-Ensor 140 | 141 | 142 | 143 | 144 | Renders the specified matrix. 145 | 146 | The matrix. 147 | The format. 148 | The content. 149 | 150 | 151 | 152 | 153 | Renders the specified matrix. 154 | 155 | The matrix. 156 | The format. 157 | The content. 158 | The options. 159 | 160 | 161 | 162 | 163 | Renders a to a 164 | 165 | 166 | 167 | 168 | Gets or sets the foreground color. 169 | 170 | 171 | The foreground color. 172 | 173 | 174 | 175 | 176 | Gets or sets the background color. 177 | 178 | 179 | The background color. 180 | 181 | 182 | 183 | 184 | Gets or sets the font family. 185 | 186 | 187 | The font family. 188 | 189 | 190 | 191 | 192 | Gets or sets the size of the font. 193 | 194 | 195 | The size of the font. 196 | 197 | 198 | 199 | 200 | Gets or sets the font stretch. 201 | 202 | 203 | The font stretch. 204 | 205 | 206 | 207 | 208 | Gets or sets the font style. 209 | 210 | 211 | The font style. 212 | 213 | 214 | 215 | 216 | Gets or sets the font weight. 217 | 218 | 219 | The font weight. 220 | 221 | 222 | 223 | 224 | Initializes a new instance of the class. 225 | 226 | 227 | 228 | 229 | Renders the specified matrix. 230 | 231 | The matrix. 232 | The format. 233 | The content. 234 | 235 | 236 | 237 | 238 | Renders the specified matrix. 239 | 240 | The matrix. 241 | The format. 242 | The content. 243 | The options. 244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/net48/zxing.presentation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/net48/zxing.presentation.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/netcoreapp3.0/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/netcoreapp3.0/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/netcoreapp3.1/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/netcoreapp3.1/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/netstandard1.0/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/netstandard1.0/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/netstandard1.1/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/netstandard1.1/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/netstandard1.3/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/netstandard1.3/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/netstandard2.0/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/netstandard2.0/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/netstandard2.1/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/netstandard2.1/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/portable-win+net40+sl4+sl5+wp7+wp71+wp8/zxing.portable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/portable-win+net40+sl4+sl5+wp7+wp71+wp8/zxing.portable.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/sl3-wp/zxing.wp7.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/sl3-wp/zxing.wp7.0.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/sl4-wp71/zxing.wp7.1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/sl4-wp71/zxing.wp7.1.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/sl4/zxing.sl4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/sl4/zxing.sl4.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/sl5/zxing.sl5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/sl5/zxing.sl5.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/uap10/zxing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/uap10/zxing.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/uap10/zxing.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/uap10/zxing.pri -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/windows8-managed/zxing.winrt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/windows8-managed/zxing.winrt.dll -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/windows8/zxing.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/windows8/zxing.pri -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/windows8/zxing.winmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/windows8/zxing.winmd -------------------------------------------------------------------------------- /packages/ZXing.Net.0.16.6/lib/wp8/zxing.wp8.0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Binzm/ScanQRCode/14ae9e88ca989c766f17ebd82a638dd27dd42109/packages/ZXing.Net.0.16.6/lib/wp8/zxing.wp8.0.dll --------------------------------------------------------------------------------