欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

二维码神器QRCoder

程序员文章站 2022-03-24 10:33:16
好久没有写Blog,都是因为不小心坠入了爱河,时间都给我家那位了,都没时间加班了(嗨呀,不小心撒了一下狗粮),不过,还是希望单身的赶紧找到心仪的另一半,实在找不到,那就加班啊(开个玩笑,别认真)。 二维码神器 现在出门在外,二维码随处可见,吃个东西、买个青菜,没有weixin或者zhifubao的扫 ......

  好久没有写blog,都是因为不小心坠入了爱河,时间都给我家那位了,都没时间加班了(嗨呀,不小心撒了一下狗粮)二维码神器QRCoder,不过,还是希望单身的赶紧找到心仪的另一半,实在找不到,那就加班啊(开个玩笑,别认真)。

二维码神器

现在出门在外,二维码随处可见,吃个东西、买个青菜,没有weixin或者zhifubao的扫一扫来付款,阿姨都嫌弃你了。

二维码神器QRCoder

这里推荐一款开源二维码的第三方库:qrcoder

qrcoder:https://github.com/codebude/qrcoder/

qrcoder是一个简单的库,用c#.net编写,可以创建qr码,没有与其他的库有任何依赖关系, 引用就一个几百kb的dll,并且效率还不错。

引入

新建一个winform项目,然后从nuget上引入即可

二维码神器QRCoder

然后再引入命名空间

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

 

qrcoder还有许多设置,根据不同需要来传入不同参数即可。

文章中的demo代码很简单,大家借鉴参考玩玩,欢迎大家来到gayhub交流:https://github.com/eminemjk/qrcodeform

.net生态社区希望越来越壮大,不断有优秀的开源组件的加入。