博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[C#]二维码(QR Code)生成与解析
阅读量:6786 次
发布时间:2019-06-26

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

写在前面

经常在大街上听到扫码送什么什么,如果真闲着没事,从头扫到位,估计书包都装满了各种东西。各种扫各种送,太泛滥了。项目中从没接触过二维码的东东,最近要使用,就扒了扒网络,发现关于解析二维码的类库还是非常多的,这里就选择一个做一个demo,玩玩。

一个例子

关于二维码的组件还是非常多的,你可以使用nuget选择一款使用就可以了。

生成二维码

// GET: Home        public ActionResult Index()        {            QRCodeEncoder endocder = new QRCodeEncoder();            //二维码背景颜色            endocder.QRCodeBackgroundColor = System.Drawing.Color.White;            //二维码编码方式            endocder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;            //每个小方格的宽度            endocder.QRCodeScale = 10;            //二维码版本号            endocder.QRCodeVersion = 5;            //纠错等级            endocder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;            var person = new { Id = 1, Name = "wolfy", Gender = 1, Age = 24 };            //将json川做成二维码            Bitmap bitmap = endocder.Encode(new JavaScriptSerializer().Serialize(person), System.Text.Encoding.UTF8);            string strSaveDir = Request.MapPath("/QRcode/");            if (!Directory.Exists(strSaveDir))            {                Directory.CreateDirectory(strSaveDir);            }            string strSavePath = Path.Combine(strSaveDir, person.Name + ".png");            if (!System.IO.File.Exists(strSavePath))            {                bitmap.Save(strSavePath);            }            ViewBag.img = "/QRcode/" + person.Name + ".png";            return View();        }

浏览

如何解析呢?

public string DeCoder()        {            string result = "";            string strSaveDir = Request.MapPath("/QRcode/");            if (!Directory.Exists(strSaveDir))            {                Directory.CreateDirectory(strSaveDir);            }            string strSavePath = Path.Combine(strSaveDir, "wolfy.png");            if (System.IO.File.Exists(strSavePath))            {                QRCodeDecoder decoder = new QRCodeDecoder();                result = decoder.decode(new ThoughtWorks.QRCode.Codec.Data.QRCodeBitmapImage(new Bitmap(Image.FromFile(strSavePath))));            }            return result;        }

解析结果

微信扫描结果

总结

这里只是弄一个demo玩玩。二维码的用处很多,比如扫描登录,扫描付款,扫描下载app等。。。大街上各种扫码,从这头扫到那头,能扫一堆东西。这也是扫货吧。。。

博客地址:
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4802780.html
你可能感兴趣的文章
电脑网络布线中会遇到的十大陷阱
查看>>
XGBOOST原理解析
查看>>
前端传递json数据给后台
查看>>
什么样的Web开发框架才是好的前端框架
查看>>
【git命令】git-rebase
查看>>
Java定时任务调度工具Timer
查看>>
混淆js问题
查看>>
vim编辑模式,命令模式
查看>>
Linux日常运维管理技巧-w命令、vmstat 命令、top 命令、sar 命令、nload命令
查看>>
七周二次课(11月28日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包...
查看>>
源码包安装
查看>>
上那些酷炫的数据大屏_你猜是多久搞出来的?
查看>>
3999美元掀价格战,Velodyne宣布16线激光雷达降价50%
查看>>
java.lang.NoSuchMethodError问题分析
查看>>
Spring Ioc的实现----------用idea实现控制反转
查看>>
Java基础——变量
查看>>
跨域获取图片并自行上传保存
查看>>
Junit,Mockito,PowerMockito 进行单元测试
查看>>
要通过面试,Lamdba要了解多少?
查看>>
vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴
查看>>