好久沒有寫Blog,都是因為不小心墜入了愛河,時間都給我家那位了,都沒時間加班了(嗨呀,不小心撒了一下狗糧),不過,還是希望單身的趕緊找到心儀的另一半,實在找不到,那就加班啊(開個玩笑,別認真)。 二維碼神器 現在出門在外,二維碼隨處可見,吃個東西、買個青菜,沒有weixin或者zhifubao的掃 ...
好久沒有寫Blog,都是因為不小心墜入了愛河,時間都給我家那位了,都沒時間加班了(嗨呀,不小心撒了一下狗糧),不過,還是希望單身的趕緊找到心儀的另一半,實在找不到,那就加班啊(開個玩笑,別認真)。
二維碼神器
現在出門在外,二維碼隨處可見,吃個東西、買個青菜,沒有weixin或者zhifubao的掃一掃來付款,阿姨都嫌棄你了。
這裡推薦一款開源二維碼的第三方庫:QRCoder
QRCoder:https://github.com/codebude/QRCoder/
QRCoder是一個簡單的庫,用C#.NET編寫,可以創建QR碼,沒有與其他的庫有任何依賴關係, 引用就一個幾百kb的dll,並且效率還不錯。
引入
新建一個winform項目,然後從nuget上引入即可
然後再引入命名空間
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行簡單的代碼,就可以完成二維碼生成了。
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來使用它,
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; }
界面效果:
QRCoder還有許多設置,根據不同需要來傳入不同參數即可。
文章中的Demo代碼很簡單,大家借鑒參考玩玩,歡迎大家來到GayHub交流:https://github.com/EminemJK/QRCodeForm
.Net生態社區希望越來越壯大,不斷有優秀的開源組件的加入。