
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;
}
}
}
