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码的生成。
二维码简介二维码即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 用户界面编写程序代码,代码源码如下:
0 评论