博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 生成二维码
阅读量:5171 次
发布时间:2019-06-13

本文共 2664 字,大约阅读时间需要 8 分钟。

项目引用引用ThoughtWorks.QRCode.dll 类

新建类QrCodeHelper

引用

using ThoughtWorks.QRCode.Codec;

using System.Drawing;

using System.Drawing.Imaging;

using System.IO;

创建生成二维码的方法CreateEQcoder

1 ///  2         /// 生成二维码 3         ///  4         /// 尺寸4-15 5         /// 复杂级别3-12 6         /// 容错量"H","L","M","Q" 7         /// 二维码信息 8         /// 用户ID(唯一标识) 9         /// 
10 public static string CreateEQcoder(int qrCodeScale, int qrCodeVersion, string qrCodeErrorCorrect, string url, string uId)11 {12 QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();13 qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;14 qrCodeEncoder.QRCodeScale = qrCodeScale;15 qrCodeEncoder.QRCodeVersion = qrCodeVersion;16 switch (qrCodeErrorCorrect)17 {18 case "H":19 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;20 break;21 case "L":22 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;23 break;24 case "M":25 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;26 break;27 case "Q":28 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;29 break;30 }31 qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;32 Bitmap bmPhoto = qrCodeEncoder.Encode(url, System.Text.Encoding.GetEncoding("UTF-8"));33 string fileName = DateTime.Now.ToString("yyyy") + ".jpg";34 string savePath = "/Tempuploads/" + uId + "/QRCode/";35 36 string dirPath = System.Web.HttpContext.Current.Server.MapPath(savePath);37 38 try39 {40 if (!Directory.Exists(dirPath))41 {42 Directory.CreateDirectory(dirPath);43 }44 bmPhoto.Save(System.Web.HttpContext.Current.Server.MapPath("/") + savePath + fileName, ImageFormat.Jpeg);45 bmPhoto.Dispose();46 return savePath + fileName;47 }48 catch (Exception)49 {50 return "";51 }52 finally53 {54 bmPhoto.Dispose();55 }56 }

解析二维码

QRCodeDecoder decoder = new QRCodeDecoder();   String decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap(bmPhoto)));   string Text = decodedString;

 

转载于:https://www.cnblogs.com/mobobo/p/5630154.html

你可能感兴趣的文章
win10 桌面设置为远程桌面
查看>>
多人操作sqlite3数据库冲突问题解决方法
查看>>
String,StringBuffer,StringBulilder之间的区别
查看>>
第四次团队作业--选题
查看>>
记录专用
查看>>
一句实现jquery导航栏
查看>>
每日英语:The Invasion of the Online Tutors
查看>>
成员函数指针有多态的效果吗?
查看>>
从零开始学 Web 之 Ajax(五)同步异步请求,数据格式
查看>>
场景分析:用户登录界面场景分析
查看>>
条形码生成包 BarCodeToHTML.cs(以颜色为背景的完整版)(下载的完整版)
查看>>
数据库事务的四大特性以及事务的隔离级别
查看>>
电脑屏幕保护眼睛
查看>>
有用的东西
查看>>
如何开启VMware串口
查看>>
数据库
查看>>
常见Struts、Hibernate、Spring、J2EE、ibatis、Oracle等开发框架架构图及其简介
查看>>
Java为何大行其道
查看>>
CFileDialog的使用方法简单介绍
查看>>
send,recv,sendto,recvfrom
查看>>