讲故事
因为疫情的原因,无论是进入商场还是医院、车站,都需要出示健康码。于是我想到了使用C#来制作我们的健康码。
安装
由于要制作二维码,我不得不想到C#中我常用的QrCode开源库,是一个纯C#开源二维码实现的 地址:https://github.com/codebude/QRCoder Nuget控制台:Install-Package QRCoder
教程
使用QrCode,我们只需要五行代码即可生成并查看您的第一个二维码。
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("这是我的第一张二维码", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save("1.png");
虽然生成了第一个二维码,但是和我们的要求有点远。我们想要的是健康码,健康码现在是分为绿色和红色。那我们就以绿色为例,来生成我们绿色健康码,作为一个很成熟的开源库,做个绿色二维码还是很简单的,我们可以查看GetGraphics方法,他有很多重载方法, 一种使用颜色类类型,另一种使用 HTML 十六进制颜色表示法。我们稍微调整一下刚才的代码
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("这是我的第一张二维码", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20,Color.Green, Color.White, true);
qrCodeImage.Save("1.png");
这样我们就生成了我们的绿码,当然红码也一样!其它地区我不太清楚,杭州这边健康码上可以看到你的新冠疫苗接种情况,那我们能不能在我们的绿码上添加我们的新冠疫苗接种Logo呢?当然也是可以的!另一个重载能够在二维码上的中心呈现徽标/图像!代码如下
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("这是我的第一张二维码", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20,Color.Green, Color.White, (Bitmap)Bitmap.FromFile("Logo.jpeg"));
qrCodeImage.Save("1.png");
这样我们就完成了我们的健康码的制作了!
总结
文章来源于生活中的点点滴滴,大家要是有更好的制作方式,欢迎交流,独乐乐不如众乐乐,本篇就说到这里啦,希望对您有帮助。