Table of Contents
QR code
1. Preface
Introducing the package
1.Introduce QRCoder through NuGet
QR code generation class
1. Preparation
Home Backend Development C#.Net Tutorial The latest solution for generating QR codes using C#, detailed explanation and examples (QRCoder)

The latest solution for generating QR codes using C#, detailed explanation and examples (QRCoder)

Jul 26, 2018 pm 04:09 PM
c# QR code

I don’t know if anyone has made multiple QR codes? In this article, I will introduce to you how to use C# to generate QR codes. First, I will talk about the three classes QRCodeGenerator, QRCodeData, and QRCode required to generate QR codes. For easy understanding later. What are their responsibilities? QRCodeGenerator: Used to generate the data object stored in the QR code through the specified method, which is the Matrix in the middle of the QR code in QRCodeData. Then QRCode gets the QRCodeData and generates the QR code

QR code

1. Preface

I have been working on some things related to QR codes recently, so I came into contact with some QR codes, so since I have used them, I must have used them.

In fact, about There are really countless articles about QR codes, and many of them are written very seriously and are very good, but it is just like learning. Just because others know it does not mean that you have no value in learning and recording, so learning does not come sooner or later

Introducing the package

1.Introduce QRCoder through NuGet

a) First, we create a new Class Library project, named here chestnut_qrcode

b) Then introduce the QRCoder package through NuGet

c) See the picture for operation

The latest solution for generating QR codes using C#, detailed explanation and examples (QRCoder)

The latest solution for generating QR codes using C#, detailed explanation and examples (QRCoder)

d) After the installation is successful, the reference to QRCoder will appear in the project reference

e) At this time, the introduction work has been completed, but it can be easily Create a Encoder.cs static public class

QR code generation class

1. Preparation

Let’s talk about it first Let’s take a look at the three classes needed to generate QR codes:

  • QRCodeGenerator

  • ##QRCodeData

  • QRCode

What are their

responsibilities?

QRCodeGenerator: Used to generate the data object stored in the QR code through the specified method, that is, QRCodeData Matrix in the middle of the QR code , then QRCode gets QRCodeData and generates QR code

2. Encoding

Encoder.cs All codes are as follows:

using System.Drawing;

namespace chestnut_qrcode
{
    /// <summary>
    /// 二维码编码器
    /// </summary>
    public static class Encoder
    {
        /// <summary>
        /// 生成二维码
        /// </summary>
        /// <param name="msg">信息</param>
        /// <param name="version">版本 1 ~ 40</param>
        /// <param name="pixel">像素点大小</param>
        /// <param name="icon_path">图标路径</param>
        /// <param name="icon_size">图标尺寸</param>
        /// <param name="icon_border">图标边框厚度</param>
        /// <param name="white_edge">二维码白边</param>
        /// <returns>位图</returns>
        public static Bitmap code(string msg, int version, int pixel, string icon_path, int icon_size, int icon_border, bool white_edge)
        {

            QRCoder.QRCodeGenerator code_generator = new QRCoder.QRCodeGenerator();

            QRCoder.QRCodeData code_data = code_generator.CreateQrCode(msg, QRCoder.QRCodeGenerator.ECCLevel.M/* 这里设置容错率的一个级别 */, true, true, QRCoder.QRCodeGenerator.EciMode.Utf8, version);

            QRCoder.QRCode code = new QRCoder.QRCode(code_data);

            Bitmap icon = new Bitmap(icon_path);

            Bitmap bmp = code.GetGraphic(pixel, Color.Black, Color.White, icon, icon_size, icon_border, white_edge);

            return bmp;

        }
    }
}
Copy after login

The parameters between fault tolerance and version are related to the encoding format. Some formats do not support Chinese.

Prepare the Form

1. Appearance

Seaconch here uses the

winform project, just take a screenshot

The latest solution for generating QR codes using C#, detailed explanation and examples (QRCoder)

2. Code

using System;
using System.Drawing;
using System.Windows.Forms;

namespace chestnut_form
{
    public partial class frm_qrcode : Form
    {
        public frm_qrcode()
        {
            InitializeComponent();
        }

        // 窗体加载
        private void frm_qrcode_Load(object sender, EventArgs e)
        {
            cb_version.SelectedIndex = 1;

            cb_pixel.SelectedIndex = 0;

            cb_icon_size.SelectedIndex = 0;

            cb_icon_border.SelectedIndex = 1;
        }

        // 编码
        private void btn_encode_Click(object sender, EventArgs e)
        {
            int version = Convert.ToInt16(cb_version.Text);

            int pixel = Convert.ToInt16(cb_pixel.Text);

            string str_msg = tb_msg.Text;

            int int_icon_size = Convert.ToInt16(cb_icon_size.Text);

            int int_icon_border = Convert.ToInt16(cb_icon_border.Text);

            bool b_we = rb_we_y.Checked ? true : false;

            Bitmap bmp = chestnut_qrcode.Encoder.code(str_msg, version, pixel, "E:/seaconch/git/1.jpg", int_icon_size, int_icon_border, b_we);

            pb_qrcode.Image = bmp;
        }

        // 保存
        private void btn_save_Click(object sender, EventArgs e)
        {
            if (pb_qrcode.Image != null)

                using (SaveFileDialog sfd = new SaveFileDialog())
                {
                    sfd.Filter = "(*.png)|*.png|(*.bmp)|*.bmp";

                    if (sfd.ShowDialog() == DialogResult.OK) pb_qrcode.Image.Save(sfd.FileName);

                }
        }
    }
}
Copy after login

Look at the effect of C# QR code generation

The latest solution for generating QR codes using C#, detailed explanation and examples (QRCoder)

Related articles:

[c# tutorial] C# data Type

Related videos:

Geek Academy C# video tutorial

The above is the detailed content of The latest solution for generating QR codes using C#, detailed explanation and examples (QRCoder). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Active Directory with C# Active Directory with C# Sep 03, 2024 pm 03:33 PM

Guide to Active Directory with C#. Here we discuss the introduction and how Active Directory works in C# along with the syntax and example.

C# Serialization C# Serialization Sep 03, 2024 pm 03:30 PM

Guide to C# Serialization. Here we discuss the introduction, steps of C# serialization object, working, and example respectively.

Random Number Generator in C# Random Number Generator in C# Sep 03, 2024 pm 03:34 PM

Guide to Random Number Generator in C#. Here we discuss how Random Number Generator work, concept of pseudo-random and secure numbers.

C# Data Grid View C# Data Grid View Sep 03, 2024 pm 03:32 PM

Guide to C# Data Grid View. Here we discuss the examples of how a data grid view can be loaded and exported from the SQL database or an excel file.

Patterns in C# Patterns in C# Sep 03, 2024 pm 03:33 PM

Guide to Patterns in C#. Here we discuss the introduction and top 3 types of Patterns in C# along with its examples and code implementation.

Prime Numbers in C# Prime Numbers in C# Sep 03, 2024 pm 03:35 PM

Guide to Prime Numbers in C#. Here we discuss the introduction and examples of prime numbers in c# along with code implementation.

Factorial in C# Factorial in C# Sep 03, 2024 pm 03:34 PM

Guide to Factorial in C#. Here we discuss the introduction to factorial in c# along with different examples and code implementation.

The difference between multithreading and asynchronous c# The difference between multithreading and asynchronous c# Apr 03, 2025 pm 02:57 PM

The difference between multithreading and asynchronous is that multithreading executes multiple threads at the same time, while asynchronously performs operations without blocking the current thread. Multithreading is used for compute-intensive tasks, while asynchronously is used for user interaction. The advantage of multi-threading is to improve computing performance, while the advantage of asynchronous is to not block UI threads. Choosing multithreading or asynchronous depends on the nature of the task: Computation-intensive tasks use multithreading, tasks that interact with external resources and need to keep UI responsiveness use asynchronous.

See all articles