二维码神器QRCoder
2024-10-17 01:14:46
好久没有写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();
不过这里做了一个简单的winform来使用它,
private void CreateQR(int pixelsPerModule, string info, Color qrColor, Color qrBackgroundColor, Bitmap logo, int iconSizePercent = , int iconBorderWidth = )
{
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生态社区希望越来越壮大,不断有优秀的开源组件的加入。
最新文章
- Ubuntu 14.04下搜狗输入法崩溃重启
- JVM的堆(heap)、栈(stack)和方法区(method)
- QT 网络编程二(UDP版本)
- Nginx下TIME_WAIT过多的调优
- 证明ln2=0 和 2=1
- 快速掌握grep命令及正则表达式
- iOS中UIKit——UIButton设置边框
- OC:copy 与 retain 的区别
- NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识
- 【原创】中文分词系统 ICTCLAS2015 的JAVA封装和多线程执行(附代码)
- bzoj3890 [Usaco2015 Jan]Meeting Time
- Eclipse用法和技巧二十二:快速调整字体大小
- OOP 创建对象的7种方式
- 今天用C#做的一个小的注册练习
- TP3.2写提交的验证码验证
- 一篇文章读懂Java类加载器
- linux下怎么样上传下载文件夹
- CSS水平垂直居中!
- python 冒泡、二分查找
- JDBC(6)—BeanUtils