Heim  >  Artikel  >  Backend-Entwicklung  >  Die neueste Lösung zum Generieren von QR-Codes mit C#, ausführliche Erklärung und Beispiele (QRCoder)

Die neueste Lösung zum Generieren von QR-Codes mit C#, ausführliche Erklärung und Beispiele (QRCoder)

php是最好的语言
php是最好的语言Original
2018-07-26 16:09:5414293Durchsuche

Ich frage mich, ob jemand mehrere QR-Codes erstellt hat? In diesem Artikel werde ich Ihnen vorstellen, wie Sie C# zum Generieren von QR-Codes verwenden. Zunächst werde ich über die drei Klassen QRCodeGenerator, QRCodeData und QRCode sprechen, die zum Generieren von QR-Codes erforderlich sind. Zum späteren leichteren Verständnis. Welche Aufgaben haben sie? QRCodeGenerator: Wird verwendet, um das im QR-Code gespeicherte Datenobjekt über die angegebene Methode zu generieren. Dabei handelt es sich um die Matrix in der Mitte des QR-Codes in QRCodeData. Dann ruft QRCode die QRCodeData ab und generiert den QR-Code

QR-Code

1. Vorwort

Vor kurzem habe ich an einigen Dingen gearbeitet, die mit QR-Codes zu tun haben, also bin ich mit einigen QR-Codes in Kontakt gekommen. Seitdem ich sie verwendet habe, glaube ich, dass sie es auch waren verwendet

Tatsächlich gibt es wirklich unzählige Artikel über QR-Codes, und viele davon sind sehr ernst geschrieben und sehr gut, aber es ist einfach so, als würde man lernen, nur weil andere es wissen, heißt das nicht Sie haben keinen Wert im Lernen und Aufzeichnen, daher kommt das Lernen nicht früher oder später

Paket einführen

1 QRCoder über NuGet einführen

a) Zuerst erstellen wir ein neues Class Library-Projekt, hier chestnut_qrcode

b) Führen Sie dann das QRCoder-Paket über NuGet

ein

c) Zur Bedienung siehe Bild

Die neueste Lösung zum Generieren von QR-Codes mit C#, ausführliche Erklärung und Beispiele (QRCoder)

Die neueste Lösung zum Generieren von QR-Codes mit C#, ausführliche Erklärung und Beispiele (QRCoder)

d) Nach erfolgreicher Installation die Referenz von QRCoder wird in der Projektreferenz angezeigt

e) Zu diesem Zeitpunkt sind die Einführungsarbeiten abgeschlossen, können aber problemlos erstellt werden. Erstellen Sie eine Encoder.cs 静态公共类

QR-Code-Generierungskurs

1. Vorbereitung

Hier sprechen wir zunächst über die Anforderungen für die QR-Code-Generierung. Drei Klassen:

  • QRCodeGenerator

  • QRCodeData

  • QRCode

Was sind ihre Aufgaben?

QRCodeGenerator: Wird verwendet, um das im QR-Code gespeicherte Datenobjekt auf eine bestimmte Weise zu generieren, d. h. QRCodeData Matrix in der Mitte des QR-Codes, dann ruft QRCode QRCodeData ab und generiert den QR-Code

2. Codierung

Encoder.cs Die Der gesamte Code lautet wie folgt:

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;

        }
    }
}

Die Parameter zwischen Fehlertoleranz und Version hängen vom Codierungsformat ab. Einige Formate unterstützen kein Chinesisch

Formular vorbereiten

1

Hier verwendet Seaconch das Winform-Projekt, machen Sie einfach einen Screenshot

Die neueste Lösung zum Generieren von QR-Codes mit C#, ausführliche Erklärung und Beispiele (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);

                }
        }
    }
}

Sehen Sie sich die Wirkung der C#-QR-Code-Generierung an

Die neueste Lösung zum Generieren von QR-Codes mit C#, ausführliche Erklärung und Beispiele (QRCoder)

Verwandte Artikel:

[C#-Tutorial] C#-Datentyp

Ähnliche Videos:

Geek Academy C#-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDie neueste Lösung zum Generieren von QR-Codes mit C#, ausführliche Erklärung und Beispiele (QRCoder). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn