博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 二维码/条形码入门操作
阅读量:5122 次
发布时间:2019-06-13

本文共 1389 字,大约阅读时间需要 4 分钟。

效果图:

 

先给之前的群友道个歉,说声不好意思。QRCoder 只支持二维码,没有条形码。

以上demo生成条形码是用 BarcodeLib 这个库,识别是用 zxing,二维码生成用 QRCoder,识别也用 zxing。其实本来不想用 zxing 这个库的。但是 BarcodeLib 只能生成条形码,不能读取条形码,QRCoder只能生成二维码,不能读取二维码。所以就用到了 zxing 这个库。

和 都是开源项目。

这两个库有什么优点:

1、没有第三方依赖项。

2、使用简单。

3、速度相对比较快。

当然缺点也很明显,不能识别条形码/二维码。

这两个库都可以使用 nuget 添加到你的项目中。

BarcodeLib 生成条形码核心代码:

BarcodeLib.Barcode b = new BarcodeLib.Barcode();Image img = b.Encode(BarcodeLib.TYPE.UPCA, "038000356216", Color.Black, Color.White, 290, 120);

QRCoder 生成二维码核心代码:

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);

以上核心代码很简单,其实是我从 git 里面拷贝贴过来的。但是要比较灵活的使用,就需要自己进行一个简单的封装。

 

读取条形码和二维码我都是使用了 zxing 这个库。

这个库就比较强大了,既能生成条形码/二维码还能识别条形码/二维码,还能生成pdf,而且适用于多个平台。这些在 git 项目介绍就有说明。

条形码识别代码:

BarcodeReader reader = new BarcodeReader();Bitmap bitmap = new Bitmap(picBarCode.BackgroundImage);Result result = reader.Decode(bitmap); // result.Text 就是条形码的内容

二维码识别代码:

BarcodeReader reader = new BarcodeReader();reader.Options.CharacterSet = "UTF-8";Bitmap bitmap = new Bitmap(picQRCode.BackgroundImage);Result result = reader.Decode(bitmap); // result.Text 就是二维码的内容

 使用  将 zxing 这个库添加到自己项目中。

zxing 这个库功能比较强大。如果需要更多的功能以及适应更多平台可以考虑使用zxing。

完整

 

转载于:https://www.cnblogs.com/hjsstudio/p/9848325.html

你可能感兴趣的文章
彻底解决Android因加载多个大图引起的OutOfMemoryError,内存溢出的问题
查看>>
JavaWeb学习——自定义标签
查看>>
TomCat系统架构
查看>>
我的iOS学习历程 - OC第五天
查看>>
VS 2010 和 .NET 4.0 系列之《ASP.NET 4 Web Forms 的整洁HTML标识 — 客户端ID》篇
查看>>
咖啡之约--体验 SourceAnywhere
查看>>
maven仓库地址
查看>>
【转】webservice接口和http接口(API接口)的区别
查看>>
django 单独测试模块
查看>>
mac OS环境下的PHP环境配置
查看>>
HIVE数据操作
查看>>
Saving Activity state in Android
查看>>
SquirrelMQ消息队列
查看>>
剑指Offer_编程题_4
查看>>
有多少人忽视了这简单的道理,又有多少人觉得理所當然。。。。
查看>>
练习笔记:net,JqueryUI实现自动补全功能
查看>>
[转帖]SQL中partition关键字的使用
查看>>
小程序实战小汇总
查看>>
inner join 与 left join 之间的区别
查看>>
系统对接API调用
查看>>