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

本文共 2168 字,大约阅读时间需要 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等。。。大街上各种扫码,从这头扫到那头,能扫一堆东西。这也是扫货吧。。。

转载于:https://www.cnblogs.com/wolf-sun/p/4802780.html

你可能感兴趣的文章
Android中通过反射来设置Toast的显示时间
查看>>
Vysor Pro破解助手
查看>>
翻译Beginning iOS 7 Development中文版
查看>>
理顺FFT
查看>>
003-spring结合java类调用quartz
查看>>
Idea 常用功能汇总,工作中常用技巧,移出请说明原因,笔记花了好长时间汇总的...
查看>>
php给图片加入文字水印
查看>>
iOS开发-sqlite3使用
查看>>
(5)QlikView中的RowNo()函数
查看>>
SiteMesh2-示例工程
查看>>
poj 1087 A Plug for UNIX 【最大流】
查看>>
Phoenix与Squirrel 是什么?
查看>>
Photoshop制作的ico图标方法
查看>>
HDU 1241 Oil Deposits (DFS)
查看>>
【翻译自mos文章】注意: ASMB process exiting due to lack of ASM file activity
查看>>
Linux 线程浅析
查看>>
ucgui界面设计演示样例2
查看>>
蓝桥杯练习系统——基础练习 十六进制转十进制
查看>>
Mac: Android studio+VirtualBox+Genymotion
查看>>
The way to Go(4): Go runtime及解释器
查看>>