ZXing 生成二维码和条形码

今天,做项目需要使用条形码扫描枪扫描二维码,以后后续手动生成二维码和条形码。看了一下,同事写的例子以及自己在网上查看了一下源码,至于源码怎么搞的,没看,直接上使用功能!

Step1:下载地址:http://zxingnet.codeplex.com/

zxing.net是.net平台下编解条形码和二维码的工具,使用非常方便。
首先下载二进制dll文件,引入工程;**

     /// <summary>
        /// 条形码生成
        /// </summary>
        public void BarCode()
        {

            EncodingOptions options = new EncodingOptions
            {
                Width = 200,
                Height = 100,
                PureBarcode = false // 是否是纯码,如果为 false,则会在图片下方显示数字
            };

            BarcodeWriter writer = new BarcodeWriter
            {
                Format = BarcodeFormat.CODE_39,
                Options = options,
            };

            using (Bitmap bmp = writer.Write("AS12346131321646QW")) // Write 具备生成、写入两个功能
            {
                MemoryStream ms = new MemoryStream();
                {
                    bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                    Response.ContentType = "image/png";
                    Response.BinaryWrite(ms.ToArray());
                }

            }
        }

        /// <summary>
        /// 二维码
        /// </summary>
        public void QRcode()
        {
            QrCodeEncodingOptions options = new QrCodeEncodingOptions
            {
                CharacterSet = "UTF-8",
                DisableECI = true, // Extended Channel Interpretation (ECI) 主要用于特殊的字符集。并不是所有的扫描器都支持这种编码。
                ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.H, // 纠错级别
                Width = 300,
                Height = 300,
                Margin = 1,
                PureBarcode = true,
            };

            // options.Hints,更多属性,也可以在这里添加。

            BarcodeWriter writer = new BarcodeWriter
            {
                Format = BarcodeFormat.QR_CODE,
                Options = options
            };


            Response.Clear();
            using (Bitmap bmp = writer.Write("AS12346131321646QW")) // Write 具备生成、写入两个功能
            {
                MemoryStream ms = new MemoryStream();
                {
                    bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

                    Response.ContentType = "image/png";
                    Response.BinaryWrite(ms.ToArray());
                }

            }
        }

        /// <summary>
        ///识别二维码还是条形码
        /// </summary>
        public void DistinguishQRorBar()
        {
            BarcodeReader reader = new BarcodeReader();
            reader.Options.CharacterSet = "UTF-8";
            using (Bitmap bmp = new Bitmap("D:\\qr.png"))
            {
                Result result = reader.Decode(bmp);
                Response.Write(result.Text);
            }
        }

纠错级别:
1. L - 约 7% 纠错能力
2. M - 约 15% 纠错能力
3. Q - 约 25% 纠错能力
4. H - 约 30% 纠错能力

二维码和条形码生成方式不同,使用不同的类,不过打印动能都是相同的的,都是使用Bitmap的形式

如果需要修改图片的样式,那么就在Bitmap画布中直接使用就行,操作Bitmap

这里写图片描述

这里写图片描述

http://www.360doc.com/content/13/1211/19/14578864_336409720.shtml 图片打印功能
http://www.jb51.net/article/99312.htm 文章来源

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,ZXing.NET 是一个功能强大的库,可以用于生成各种类型的条形码和二维码,包括 QRCode、Data Matrix、Aztec 等。要使用 ZXing.NET 生成二维码,您可以按照以下步骤进行操作: 1. 导入命名空间:在您的 C# 代码文件中,添加对 ZXing.NET 的命名空间引用: ```csharp using ZXing; using ZXing.Common; ``` 2. 创建一个 BarcodeWriter 对象:使用 BarcodeWriter 类来生成二维码。 ```csharp BarcodeWriter writer = new BarcodeWriter(); ``` 3. 配置生成器参数:您可以通过设置 Writer 的属性来配置生成器的参数,例如设置二维码尺寸、编码类型、边距等。 ```csharp writer.Format = BarcodeFormat.QR_CODE; // 设置生成条形码类型为二维码 writer.Options = new EncodingOptions { Width = 200, // 设置二维码宽度 Height = 200, // 设置二维码高度 Margin = 10 // 设置二维码边距 }; ``` 4. 生成并保存二维码图像:使用 writer 对象的 `Write` 方法,传入要生成的文本作为参数,并将返回的 Bitmap 对象保存为图像文件或进行其他操作。 ```csharp Bitmap qrcodeImage = writer.Write("Hello, ZXing.NET!"); qrcodeImage.Save("qrcode.png"); // 保存为图像文件 ``` 在上述示例中,我们将字符串 "Hello, ZXing.NET!" 生成为一个名为 "qrcode.png" 的二维码图像文件。 这样,您就可以使用 ZXing.NET 生成自定义设置的二维码图像了。请记得根据您的需要,修改生成器的参数以及保存图像的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值