1、NuGet安装QRCoder库。
2、测试代码。
using QRCoder; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace qr { public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } /* public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, [Bitmap icon=null], [int iconSizePercent=15], [int iconBorderWidth=6], [bool drawQuietZones=true]) int pixelsPerModule:生成二维码图片的像素大小; Color darkColor:二维码图像暗色,一般设置为Color.Black。 Color lightColor:二维码图像亮色, 一般设置为Color.White。 Bitmap icon:二维码中间水印图标。 int iconSizePercent:水印图标的大小比例。 int iconBorderWidth:水印图标的边框。不能设为0,否则会显示“参数错误”,程序运行出错。 bool drawQuietZones:静止区,即是否绘画二维码的空白边框区域,默认为true。 */ /// <summary> /// 生成QR码 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnQR_Click(object sender, EventArgs e) { // 创建QRCode QRCode qRCode = new QRCode(); // 存储内容 string strCode = tbLine.Text.Trim(); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(strCode, QRCodeGenerator.ECCLevel.Q); QRCode qrcode = new QRCode(qrCodeData); //Bitmap icon = new Bitmap(Application.StartupPath + @"\" + "logo.png"); //Bitmap qrCodeImage = qrcode.GetGraphic(20, Color.Black, Color.White, icon, 15, 6, false); Bitmap qrCodeImage = qrcode.GetGraphic(20, Color.Black, Color.White, null, 15, 6, false); MemoryStream ms = new MemoryStream(); qrCodeImage.Save(ms, ImageFormat.Jpeg); qrCodeImage.Save(Application.StartupPath + @"\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg"); picQR.Image = qrCodeImage; } } }