C#使用QRCoder生成二维码

一、首先通过VS中的【NUGET】下载并引用QRCoder.dll

二、编写生成二维码代码

// 生成二维码的内容

string strCode = "http://www.walys.com";

QRCodeGenerator qrGenerator = new QRCoder.QRCodeGenerator();

QRCodeData qrCodeData = qrGenerator.CreateQrCode(strCode, QRCodeGenerator.ECCLevel.Q);

QRCode qrcode = new QRCode(qrCodeData);

// qrcode.GetGraphic 方法可参考最下发“补充说明”

Bitmap qrCodeImage = qrcode.GetGraphic(5,Color.Black,Color.White,null,15,6,false);

MemoryStream ms = new MemoryStream();

qrCodeImage.Save(ms, ImageFormat.Jpeg);

// 如果想保存图片 可使用  qrCodeImage.Save(filePath);

// 响应类型

context.Response.ContentType = "image/Jpeg";

//输出字符流

context.Response.BinaryWrite(ms.ToArray());

以上为QRCoder生成二维码的核心代码

补充说明:QRCode.GetGraphic方法参数说明

/* GetGraphic方法参数说明

                public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, Bitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 6, bool drawQuietZones = true)

            *

                int pixelsPerModule:生成二维码图片的像素大小 ,我这里设置的是5

            *

                Color darkColor:暗色  一般设置为Color.Black 黑色

            *

                Color lightColor:亮色  一般设置为Color.White  白色

            *

                Bitmap icon :二维码 水印图标 例如:Bitmap icon = new Bitmap(context.Server.MapPath("~/images/zs.png")); 默认为NULL ,加上这个二维码中间会显示一个图标

            *

                int iconSizePercent: 水印图标的大小比例 ,可根据自己的喜好设置

            *

                int iconBorderWidth: 水印图标的边框

            *

                bool drawQuietZones:静止区,位于二维码某一边的空白边界,用来阻止读者获取与正在浏览的二维码无关的信息 即是否绘画二维码的空白边框区域 默认为true

  */

你可能感兴趣的:(C#使用QRCoder生成二维码)