登录
首页 » C# » qrcode 识别(zbar-sharp)

qrcode 识别(zbar-sharp)

于 2021-08-05 发布
0 315
下载积分: 1 下载次数: 1

代码说明:

条码识别 【核心代码】 usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Diagnostics; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Windows.Forms; usingSystem.Drawing.Imaging; usingThoughtWorks.QRCode.Codec; usingThoughtWorks.QRCode.Codec.Data; usingZBar; usingZXing; usingImage = System.Drawing.Image;

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • c#Winform自定义控件
    c#Winform自定义控件-基类控件,按钮,有图标的按钮,选择按钮组,复选框,单选框,进度条,分割线,树,横向列表,列表,分页控件,导航菜单,键盘,文本框,表格,日期控件,Tab页,下拉框,步骤控件,有标题的面板,圆形进度条,面包屑导航,开关等等。using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;namespace HZH_Controls.Controls{    ///     /// Class UCBtnsGroup.    /// Implements the     ///     ///     public partial class UCBtnsGroup : UserControl    {        ///         /// 选中改变事件        ///         [Description("选中改变事件"), Category("自定义")]        public event EventHandler SelectedItemChanged;        ///         /// The m data source        ///         private Dictionary m_dataSource = new Dictionary();        ///         /// 数据源        ///         /// The data source.        [Description("数据源"), Category("自定义")]        public Dictionary DataSource        {            get { return m_dataSource; }            set            {                m_dataSource = value;                Reload();            }        }        ///         /// The m select item        ///         private List m_selectItem = new List();        ///         /// 选中项        ///         /// The select item.        [Description("选中项"), Category("自定义")]        public List SelectItem        {            get { return m_selectItem; }            set            {                m_selectItem = value;                if (m_selectItem == null)                    m_selectItem = new List();                SetSelected();            }        }        ///         /// The m is multiple        ///         private bool m_isMultiple = false;        ///         /// 是否多选        ///         /// true if this instance is multiple; otherwise, false.        [Description("是否多选"), Category("自定义")]        public bool IsMultiple        {            get { return m_isMultiple; }            set { m_isMultiple = value; }        }        ///         /// Initializes a new instance of the class.        ///         public UCBtnsGroup()        {            InitializeComponent();        }        ///         /// Reloads this instance.        ///         private void Reload()        {            try            {                ControlHelper.FreezeControl(flowLayoutPanel1, true);                this.flowLayoutPanel1.Controls.Clear();                if (DataSource != null)                {                    foreach (var item in DataSource)                    {                        UCBtnExt btn = new UCBtnExt();                        btn.BackColor = System.Drawing.Color.Transparent;                        btn.BtnBackColor = System.Drawing.Color.White;                        btn.BtnFont = new System.Drawing.Font("微软雅黑", 10F);                        btn.BtnForeColor = System.Drawing.Color.Gray;                        btn.BtnText = item.Value;                        btn.ConerRadius = 5;                        btn.Cursor = System.Windows.Forms.Cursors.Hand;                        btn.FillColor = System.Drawing.Color.White;                        btn.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);                        btn.IsRadius = true;                        btn.IsShowRect = true;                        btn.IsShowTips = false;                        btn.Location = new System.Drawing.Point(5, 5);                        btn.Margin = new System.Windows.Forms.Padding(5);                        btn.Name = item.Key;                        btn.RectColor = System.Drawing.Color.FromArgb(224, 224, 224);                        btn.RectWidth = 1;                        btn.Size = new System.Drawing.Size(72, 38);                        btn.TabStop = false;                        btn.BtnClick = btn_BtnClick;                        this.flowLayoutPanel1.Controls.Add(btn);                    }                }            }            finally            {                ControlHelper.FreezeControl(flowLayoutPanel1, false);            }            SetSelected();        }        ///         /// Handles the BtnClick event of the btn control.        ///         /// The source of the event.        /// The instance containing the event data.        void btn_BtnClick(object sender, EventArgs e)        {            var btn = sender as UCBtnExt;            if (m_selectItem.Contains(btn.Name))            {                btn.RectColor = System.Drawing.Color.FromArgb(224, 224, 224);                m_selectItem.Remove(btn.Name);            }            else            {                if (!m_isMultiple)                {                    foreach (var item in m_selectItem)                    {                        var lst = this.flowLayoutPanel1.Controls.Find(item, false);                        if (lst.Length == 1)                        {                            var _btn = lst[0] as UCBtnExt;                            _btn.RectColor = System.Drawing.Color.FromArgb(224, 224, 224);                        }                    }                    m_selectItem.Clear();                }                btn.RectColor = System.Drawing.Color.FromArgb(255, 77, 59);                m_selectItem.Add(btn.Name);            }            if (SelectedItemChanged != null)                SelectedItemChanged(this, e);        }        ///         /// Sets the selected.        ///         private void SetSelected()        {            if (m_selectItem != null && m_selectItem.Count > 0 && DataSource != null && DataSource.Count > 0)            {                try                {                    ControlHelper.FreezeControl(flowLayoutPanel1, true);                    if (m_isMultiple)                    {                        foreach (var item in m_selectItem)                        {                            var lst = this.flowLayoutPanel1.Controls.Find(item, false);                            if (lst.Length == 1)                            {                                var btn = lst[0] as UCBtnExt;                                btn.RectColor = System.Drawing.Color.FromArgb(255, 77, 59);                            }                        }                    }                    else                    {                        UCBtnExt btn = null;                        foreach (var item in m_selectItem)                        {                            var lst = this.flowLayoutPanel1.Controls.Find(item, false);                            if (lst.Length == 1)                            {                                btn = lst[0] as UCBtnExt;                                break;                            }                        }                        if (btn != null)                        {                            m_selectItem = new List() { btn.Name };                            btn.RectColor = System.Drawing.Color.FromArgb(255, 77, 59);                        }                    }                }                finally                {                    ControlHelper.FreezeControl(flowLayoutPanel1, false);                }            }        }    }}using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing.Drawing2D;namespace HZH_Controls.Controls{    ///     /// Class UCStep.    /// Implements the     ///     ///     [DefaultEvent("IndexChecked")]    public partial class UCStep : UserControl    {        ///         /// Occurs when [index checked].        ///         [Description("步骤更改事件"), Category("自定义")]        public event EventHandler IndexChecked;        ///         /// The m step back color        ///         private Color m_stepBackColor = Color.FromArgb(189, 189, 189);        ///         /// 步骤背景色        ///         /// The color of the step back.        [Description("步骤背景色"), Category("自定义")]        public Color StepBackColor        {            get { return m_stepBackColor; }            set            {                m_stepBackColor = value;                Refresh();            }        }        ///         /// The m step fore color        ///         private Color m_stepForeColor = Color.FromArgb(255, 77, 59);        ///         /// 步骤前景色        ///         /// The color of the step fore.        [Description("步骤前景色"), Category("自定义")]        public Color StepForeColor        {            get { return m_stepForeColor; }            set            {                m_stepForeColor = value;                Refresh();            }        }        ///         /// The m step font color        ///         private Color m_stepFontColor = Color.White;        ///         /// 步骤文字颜色        ///         /// The color of the step font.        [Description("步骤文字景色"), Category("自定义")]        public Color StepFontColor        {            get { return m_stepFontColor; }            set            {                m_stepFontColor = value;                Refresh();            }        }        ///         /// The m step width        ///         private int m_stepWidth = 35;        ///         /// 步骤宽度        ///         /// The width of the step.        [Description("步骤宽度景色"), Category("自定义")]        public int StepWidth        {            get { return m_stepWidth; }            set            {                m_stepWidth = value;                Refresh();            }        }        ///         /// The m steps        ///         private string[] m_steps = new string[] { "step1", "step2", "step3" };        ///         /// Gets or sets the steps.        ///         /// The steps.        [Description("步骤"), Category("自定义")]        public string[] Steps        {            get { return m_steps; }            set            {                if (m_steps == null || m_steps.Length Steps.Length)                    return;                m_stepIndex = value;                Refresh();                if (IndexChecked != null)                {                    IndexChecked(this, null);                }            }        }        ///         /// The m line width        ///         private int m_lineWidth = 2;        ///         /// Gets or sets the width of the line.        ///         /// The width of the line.        [Description("连接线宽度,最小2"), Category("自定义")]        public int LineWidth        {            get { return m_lineWidth; }            set            {                if (value < 2)                    return;                m_lineWidth = value;                Refresh();            }        }        ///         /// The m img completed        ///         private Image m_imgCompleted = null;        ///         /// Gets or sets the img completed.        ///         /// The img completed.        [Description("已完成步骤图片,当不为空时,已完成步骤将不再显示数字,建议24*24大小"), Category("自定义")]        public Image ImgCompleted        {            get { return m_imgCompleted; }            set            {                m_imgCompleted = value;                Refresh();            }        }        ///         /// The m LST cache rect        ///         List m_lstCacheRect = new List();        ///         /// Initializes a new instance of the class.        ///         public UCStep()        {            InitializeComponent();            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);            this.SetStyle(ControlStyles.DoubleBuffer, true);            this.SetStyle(ControlStyles.ResizeRedraw, true);            this.SetStyle(ControlStyles.Selectable, true);            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);            this.SetStyle(ControlStyles.UserPaint, true);            this.MouseDown = UCStep_MouseDown;        }        ///         /// Handles the MouseDown event of the UCStep control.        ///         /// The source of the event.        /// The instance containing the event data.        void UCStep_MouseDown(object sender, MouseEventArgs e)        {            var index = m_lstCacheRect.FindIndex(p => p.Contains(e.Location));            if (index >= 0)            {                StepIndex = index 1;            }        }        ///         /// 引发 事件。        ///         /// 包含事件数据的 。        protected override void OnPaint(PaintEventArgs e)        {            base.OnPaint(e);            var g = e.Graphics;            g.SetGDIHigh();            if (m_steps != null && m_steps.Length > 0)            {                System.Drawing.SizeF sizeFirst = g.MeasureString(m_steps[0], this.Font);                int y = (this.Height - m_stepWidth - 10 - (int)sizeFirst.Height) / 2;                if (y < 0)                    y = 0;                int intTxtY = y m_stepWidth 10;                int intLeft = 0;                if (sizeFirst.Width > m_stepWidth)                {                    intLeft = (int)(sizeFirst.Width - m_stepWidth) / 2 1;                }                int intRight = 0;                System.Drawing.SizeF sizeEnd = g.MeasureString(m_steps[m_steps.Length - 1], this.Font);                if (sizeEnd.Width > m_stepWidth)                {                    intRight = (int)(sizeEnd.Width - m_stepWidth) / 2 1;                }                int intSplitWidth = 20;                intSplitWidth = (this.Width - m_steps.Length - (m_steps.Length * m_stepWidth) - intRight - intLeft) / (m_steps.Length - 1);                if (intSplitWidth < 20)                    intSplitWidth = 20;                m_lstCacheRect = new List();                for (int i = 0; i < m_steps.Length; i )                {                    #region 画圆,横线                    Rectangle rectEllipse = new Rectangle(new Point(intLeft i * (m_stepWidth intSplitWidth), y), new Size(m_stepWidth, m_stepWidth));                    m_lstCacheRect.Add(rectEllipse);                    g.FillEllipse(new SolidBrush(m_stepBackColor), rectEllipse);                    if (m_stepIndex > i)                    {                        g.FillEllipse(new SolidBrush(m_stepForeColor), new Rectangle(new Point(intLeft i * (m_stepWidth intSplitWidth) 2, y 2), new Size(m_stepWidth - 4, m_stepWidth - 4)));                    }                    if (m_stepIndex > i && m_imgCompleted != null)                    {                        g.DrawImage(m_imgCompleted, new Rectangle(new Point((intLeft i * (m_stepWidth intSplitWidth) (m_stepWidth - 24) / 2), y (m_stepWidth - 24) / 2), new Size(24, 24)), 0, 0, m_imgCompleted.Width, m_imgCompleted.Height, GraphicsUnit.Pixel, null);                    }                    else                    {                        System.Drawing.SizeF _numSize = g.MeasureString((i 1).ToString(), this.Font);                        g.DrawString((i 1).ToString(), Font, new SolidBrush(m_stepFontColor), new Point(intLeft i * (m_stepWidth intSplitWidth) (m_stepWidth - (int)_numSize.Width) / 2 1, y (m_stepWidth - (int)_numSize.Height) / 2 1));                    }                    #endregion                    System.Drawing.SizeF sizeTxt = g.MeasureString(m_steps[i], this.Font);                    g.DrawString(m_steps[i], Font, new SolidBrush(m_stepIndex > i ? m_stepForeColor : m_stepBackColor), new Point(intLeft i * (m_stepWidth intSplitWidth) (m_stepWidth - (int)sizeTxt.Width) / 2 1, intTxtY));                }                for (int i = 0; i < m_steps.Length; i )                {                    if (m_stepIndex > i)                    {                        if (i != m_steps.Length - 1)                        {                            if (m_stepIndex == i 1)                            {                                g.DrawLine(new Pen(m_stepForeColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth - 3, y ((m_stepWidth) / 2)), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth intSplitWidth / 2, y ((m_stepWidth) / 2)));                                g.DrawLine(new Pen(m_stepBackColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth intSplitWidth / 2, y ((m_stepWidth) / 2)), new Point(intLeft (i 1) * (m_stepWidth intSplitWidth) 10, y ((m_stepWidth) / 2)));                            }                            else                            {                                g.DrawLine(new Pen(m_stepForeColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth - 3, y ((m_stepWidth) / 2)), new Point(intLeft (i 1) * (m_stepWidth intSplitWidth) 10, y ((m_stepWidth) / 2)));                            }                        }                    }                    else                    {                        if (i != m_steps.Length - 1)                        {                            g.DrawLine(new Pen(m_stepBackColor, m_lineWidth), new Point(intLeft i * (m_stepWidth intSplitWidth) m_stepWidth - 3, y ((m_stepWidth) / 2)), new Point(intLeft (i 1) * (m_stepWidth intSplitWidth) 10, y ((m_stepWidth) / 2)));                        }                    }                }            }        }    }}
    2020-12-11下载
    积分:1
  • NS3仿真软件与外部通信(code.cc)
    NS3仿真软件与外部通信
    2021-05-06下载
    积分:1
  • FTP上传文件、下载文件(亲测可用+mvvm+wpf)
    FTP上传文件、下载文件(亲测可用+mvvm+wpf)
    2019-07-23下载
    积分:1
  • C# POP3类库 接收邮件 并读取邮件内容 附完整源码
    接收邮件并读取邮件的详细内容,亲测通过。                                              
    2013-07-27下载
    积分:1
  • 101种 Linq常用用法实例源码下载
    101种 Linq常用用法实例源码下载
    2014-07-29下载
    积分:1
  • C#自定义控件库-漂亮的按钮
    列举了一些漂亮的按钮和文本输入框,包括demo
    2017-11-02下载
    积分:1
  • C# RabbitMQ实例 源码下载
    负载均衡 首先需要下载.net下的驱动类。rabbitmq.client.dll.安装后可以使用提供的文档。当然也可以直接从别的地方只下载rabbitmq.client.dll使用。下载地址:http://www.rabbitmq.com/dotnet.html
    2014-12-03下载
    积分:1
  • .NET Reflector 5.0 使用例子(反编译软件)
    .NET Reflector 5.0 Release Notes 28 December 2006 Reflector is a class browser for .NET components. It allows browsing and searching the meta data, IL instructions, resources and XML documentation stored in a .NET assembly. Reflector was first released in October 2000 running on .NET Framework 1.0 Beta. LINQ and .NET Framework 3.5: Reflector supports query expressions and other concepts introduced in C# 3.5. To enable this feature select ".NET 3.5" under View, Options, Disassembler, Optimization. .NET Framework compatibility: Reflector runs on all versions of the .NET Framework using its own assembly loading infrastructure which does not rely on the Reflection API. For example, Reflector can load .NET Framework 2.0 assemblies without having the .NET Framework 2.0 installed. Assembly Lists: When launched for the first time, Reflector allows you to choose a default set of assemblies. The list of assemblies is then stored in the Reflector.cfg file and will be loaded next time you open the program. Reflector allows creating multiple assembly lists and switching between the lists using the File, Open List dialog. To choose a different set of default assemblies for the current assembly list you should remove all assemblies from the list (DEL) and invoke the Refresh command (F5). Assembly Cache: When resolving an assembly reference, Reflector will first search the local path next to the assembly holding the reference and then falls back to the cache directories defined in the Reflector.cfg file. Reflector does not search the Global Assembly Cache (GAC) unless you add "%SystemRoot%Assembly" to the cache directories list. Assembly Versioning: By default, assembly version numbers are ignored when resolving type and member references. You can enable side-by-side versioning in the options dialog but it is suggested to avoid this if possible. Add-Ins: Information about the Reflector add-in model can be found here. The most recent version of .NET Reflector is available here. Disclaimer: This software is provided "AS IS" with no warranties of any kind. The entire risk arising out of the use or performance of the software is with you.
    2015-06-15下载
    积分:1
  • C#winform与PLC项目实例_真空手套箱
    C#winform与PLC项目实例_真空手套箱
    2020-06-20下载
    积分:1
  • webbrowser控件自定义开发
    制作自己的浏览器
    2015-01-22下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载