很久沒有寫Blog,都是由於不當心墜入了愛河,時間都給我家那位了,都沒時間加班了(嗨呀,不當心撒了一下狗糧),不過,仍是但願單身的趕忙找到心儀的另外一半,實在找不到,那就加班啊(開個玩笑,別認真)。git
如今出門在外,二維碼隨處可見,吃個東西、買個青菜,沒有weixin或者zhifubao的掃一掃來付款,阿姨都嫌棄你了。github
這裏推薦一款開源二維碼的第三方庫:QRCoderspa
QRCoder:https://github.com/codebude/QRCoder/code
QRCoder是一個簡單的庫,用C#.NET編寫,能夠建立QR碼,沒有與其餘的庫有任何依賴關係, 引用就一個幾百kb的dll,而且效率還不錯。orm
新建一個winform項目,而後從nuget上引入便可blog
而後再引入命名空間get
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using QRCoder; //就是它,沒有多餘的
在GayHub上,QRCoder的readme已經介紹過了,只要4行簡單的代碼,就能夠完成二維碼生成了。string
QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode("The text which should be encoded.", QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(20);
不過這裏作了一個簡單的winform來使用它,it
private void CreateQR(int pixelsPerModule, string info, Color qrColor, Color qrBackgroundColor, Bitmap logo, int iconSizePercent = 15, int iconBorderWidth = 6) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(info, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(pixelsPerModule, qrColor, qrBackgroundColor, logo, iconSizePercent, iconBorderWidth, true); picBoxQRCode.Image = qrCodeImage; } private void CreateQR(int pixelsPerModule, string info, Color qrColor, Color qrBackgroundColor) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(info, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(pixelsPerModule, qrColor, qrBackgroundColor, true); picBoxQRCode.Image = qrCodeImage; }
界面效果:io
QRCoder還有許多設置,根據不一樣須要來傳入不一樣參數便可。
文章中的Demo代碼很簡單,你們借鑑參考玩玩,歡迎你們來到GayHub交流:https://github.com/EminemJK/QRCodeForm ,碼雲:https://gitee.com/Backgrounder/QRCodeForm.git
.Net生態社區但願愈來愈壯大,不斷有優秀的開源組件的加入。