posts - 609,  comments - 13,  views - 64万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

https://www.cnblogs.com/wlays/p/7994393.html

1.NuGet中搜索QRCoder,安装这个插件。

2.创建一个一般处理程序,代码:

复制代码
 public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            // 生成二维码的内容
            string strCode = "http://www.xxx.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());
            context.Response.End();
        }
复制代码

3.使用<img src="Handlers/HandlerQRCode.ashx" />

4.注释

//补充说明:QRCode.GetGraphic方法参数说明
//Bitmap qrCodeImage = qrcode.GetGraphic(5, Color.Black, Color.White, null, 15, 6, false);
//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

posted on   邢帅杰  阅读(864)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示