龙空技术网

基于C# Winform的二维码(QR Code)生成程序

LabVIEW与自动化测试 1568

前言:

现时同学们对“注册码生成器源码”大概比较珍视,我们都需要了解一些“注册码生成器源码”的相关文章。那么小编也在网摘上收集了一些对于“注册码生成器源码””的相关资讯,希望朋友们能喜欢,大家快快来学习一下吧!

二维码简介

二维码即2-Dimensional Bar Code,二维条码的种类很多,常见的二维码格式有:PDF417码、QR码、汉信码、颜色条码、quick mark code、data matrix。与传统的条形码相比,可以存储更多的信息,二维码本质上是个密码算法,本文描述的是最常见的QR码(QR Code)的生成方式,QR码的结构如下图所示。

二维码结构

目标

开发一个C# Winform应用程序:

1)可以在界面中输入任意文本内容,点击生成按钮可以将文本内容转换为二维码展示在用户界面中;

2)点击保存按钮可以将二维码以图片的形式保存在指定的路径下。

基于 C# Winform 的 QR 码生成程序创建Winform .net framework项目,通过Nuget包管理器安装QRCoder库,如下图所示。

通过Nuget包管理器安装QRCoder库

安装QRCoder库

搭建 Winform 用户界面,如下图所示,其中一个richText文本框用于输入文本信息,该文本信息用于生成二维码,一个picturebox控件用于展示生成的二维码,两个Button控件用于触发二维码的生成和保存。

Winform 用户界面

编写程序代码,代码源码如下:

using QRCoder;using System;using System.Data;using System.Drawing;using System.Windows.Forms;namespace QRCode_Winform{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();            // 设置picQRCode对象图片自适应            picQRCode.BackgroundImageLayout = ImageLayout.Stretch;            picQRCode.SizeMode=PictureBoxSizeMode.StretchImage;         }                private void btnCreate_Click(object sender, EventArgs e)        {            // 创建QRCodeGenerator对象            QRCodeGenerator qrGenerator = new QRCodeGenerator();            // 创建QCodeRData对象            QRCodeData qrData = qrGenerator.CreateQrCode(txtText.Text, QRCodeGenerator.ECCLevel.M);            // 创建QRCode对象            QRCode qrCode = new QRCode(qrData);                  // 将QRCode对象转换为BitMap对象            Bitmap qrCodeImage= qrCode.GetGraphic(20);            // 将Bitmap对象转换为Image对象            // Image img= Image.FromHbitmap(qrCodeImage.GetHbitmap());            // 设置picQRCode对象的数据源            //picQRCode.Image = img;            picQRCode.Image = qrCodeImage;            picQRCode.Show();            picQRCode.Refresh();        }        private void btnSave_Click(object sender, EventArgs e)        {            SaveFileDialog imgFilePath = new SaveFileDialog();            imgFilePath.Title = "二维码图片保存";            imgFilePath.FileName = "QRCode";            imgFilePath.Filter = "图片文件|*.jpg;*.png;*.jpeg;*.bmp";            if (imgFilePath.ShowDialog() == DialogResult.OK)            {                string fileName = imgFilePath.FileName.ToString();                // 获取图片后缀                string fileExtName = fileName.Substring(fileName.LastIndexOf(".") + 1).ToString();                System.Drawing.Imaging.ImageFormat imgformat;                if (fileExtName != "")                {                    switch (fileExtName)                    {                        case "jpg":                            imgformat = System.Drawing.Imaging.ImageFormat.Jpeg;                            break;                        case "bmp":                            imgformat = System.Drawing.Imaging.ImageFormat.Bmp;                            break;                        case "png":                            imgformat = System.Drawing.Imaging.ImageFormat.Png;                            break;                        default:                            imgformat = System.Drawing.Imaging.ImageFormat.Jpeg;                            break;                    }                    // 保存图片                    picQRCode.Image.Save(fileName, imgformat);                }            }        }    }}
程序运行效果如下图所示。

二维码生成程序运行效果

点击Save按钮可对生成的二维码图片进行保存。总结

借助于QRCoder库,可以轻松实现QR码的生成。

标签: #注册码生成器源码