二維碼神器QRCoder


  好久沒有寫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 ,碼雲:https://gitee.com/Backgrounder/QRCodeForm.git

.Net生態社區希望越來越壯大,不斷有優秀的開源組件的加入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM