zoukankan      html  css  js  c++  java
  • C# 二维码/条形码入门操作

    效果图:

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

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

    BarcodeLibQRCoder 都是开源项目。

    这两个库有什么优点:

    1、没有第三方依赖项。

    2、使用简单。

    3、速度相对比较快。

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

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

    BarcodeLib

    QRCoder

    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 这个库。

    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 就是二维码的内容

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

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

    完整 demo

    源代码

  • 相关阅读:
    .NET开发微信公众号之创建自定义菜单
    FOR XML PATH 可以将查询结果根据行输出成XML格式
    Node入门
    javascript客户端检测技术
    理解OAuth 2.0(转)
    RESTful API 设计指南(转)
    forever让nodejs应用后台执行
    Git使用教程
    NodeJS基础教程
    windows系统下简单nodejs安装及环境配置
  • 原文地址:https://www.cnblogs.com/hjsstudio/p/9848325.html
Copyright © 2011-2022 走看看