public static string GetBarcode(string format, string value, int? width, int? height)
        {
            BarcodeWriter writer = null;

Bitmap bitmap = null;

string strbase64 = string.Empty;

writer = new BarcodeWriter();
            if (format == "QR_CODE")
            {
                EncodingOptions options = new QrCodeEncodingOptions
                {
                    DisableECI = true,
                    CharacterSet = "UTF-8",
                    Width = width == null ? 500 : Convert.ToInt32(width),
                    Height = height == null ? 500 : Convert.ToInt32(height)
                };
                writer.Options = options;
                writer.Format = BarcodeFormat.QR_CODE;
                bitmap = writer.Write(value);
            }
            else if (format == "CODE_39")
            {
                /*
                        * 1.支持数字,字母,-,$,空格
                        * 2.产生的条码大
                        * 3.常用于许多用途
                        */
                writer.Format = BarcodeFormat.CODE_39;
                MultiFormatWriter mutiWriter = new MultiFormatWriter();
                BitMatrix bm = mutiWriter.encode(value, BarcodeFormat.CODE_39, (width == null ? 500 : Convert.ToInt32(width)), (height == null ? 150 : Convert.ToInt32(height)), null);
                bitmap = new BarcodeWriter().Write(bm);
            }
            else if (format == "CODE_128")
            {
                /*
                        * 1.支持字母或者数字所有字符
                        * 2.包含3个表格更好的数据进行编码
                        */
                writer.Format = BarcodeFormat.CODE_128;
                MultiFormatWriter mutiWriter = new MultiFormatWriter();
                BitMatrix bm = mutiWriter.encode(value, BarcodeFormat.CODE_128, (width == null ? 500 : Convert.ToInt32(width)), (height == null ? 150 : Convert.ToInt32(height)), null);
                bitmap = new BarcodeWriter().Write(bm);
            }
            else if (format == "ITF")
            {
                EncodingOptions options = new QrCodeEncodingOptions
                {
                    DisableECI = true,
                    CharacterSet = "UTF-8",
                    Width = width == null ? 500 : Convert.ToInt32(width),
                    Height = height == null ? 150 : Convert.ToInt32(height)
                };
                writer.Options = options;
                writer.Format = BarcodeFormat.ITF;
                bitmap = writer.Write(value);
            }

using (MemoryStream ms = new MemoryStream())
            {
                bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                byte[] arr = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(arr, 0, (int)ms.Length);
                strbase64 = Convert.ToBase64String(arr);
            }

return strbase64;
        }

 
 
//引用文件下载地址
//http://files.cnblogs.com/files/guichi/Newtonsoft.rar

C# .Net 使用zxing.dll生成二维码,条形码的更多相关文章

  1. ZXing.dll 生成二维码 C# winform net4.5

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. C#MVC用ZXing.Net生成二维码/条形码

    开篇:zxing.net是.net平台下编解条形码和二维码的工具. 首先创建新项目 选择MVC模板  添加一个控制器  在项目引用中的引用ZXing 进行联网下载 控制器需要引用 后台控制器   pu ...

  3. C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(二)

    1.使用ZXint.Net生成带logo的二维码 /// <summary> /// 生成带Logo的二维码 /// </summary> /// <param name ...

  4. 基于Asp.Net Core,利用ZXing来生成二维码的一般流程

    本文主要介绍如何在.net环境下,基于Asp.Net Core,利用ZXing来生成二维码的一般操作.对二维码工作原理了解,详情见:https://blog.csdn.net/weixin_36191 ...

  5. Java使用ZXing生成二维码条形码

    一.下载Zxingjar包 本实例使用的是 zxing3.2.0的版本  下载地址 http://pan.baidu.com/s/1gdH7PzP 说明:本实例使用的3.2.0版本已经使用的java7 ...

  6. 【VB.NET】利用 ZXing.Net 生成二维码(支持自定义LOGO)

    有任何疑问请去我的新博客提出 https://blog.clso.fun/posts/2019-03-03/vb-net-zxing-net-qr-maker.html ZXing .NET 的项目主 ...

  7. Java中使用google.zxing快捷生成二维码(附工具类源码)

    移动互联网时代,基于手机端的各种活动扫码和收付款码层出不穷:那我们如何在Java中生成自己想要的二维码呢?下面就来讲讲在Java开发中使用 google.zxing 生成二维码. 一般情况下,Java ...

  8. 使用python调用zxing库生成二维码图片

    (1)     安装Jpype 用python调用jar包须要安装jpype扩展,在Ubuntu上能够直接使用apt-get安装jpype扩展 $ sudo apt-get install pytho ...

  9. 利用Spring Boot+zxing,生成二维码还能这么简单

    在网站开发中,经常会遇到要生成二维码的情况,比如要使用微信支付.网页登录等,本文分享一个Spring Boot生成二维码的例子,这里用到了google的zxing工具类. 本文目录 一.二维码简介二. ...

随机推荐

  1. [Unity3D]Unity3D连衣裙实现游戏开发系统

    大家好,我是秦培.欢迎关注我的博客,我的博客地址">blog.csdn.net/qinyuanpei. 不知从什么时候開始,国产RPG单机游戏開始出现换装,仙剑系列中第一部实现了换装的 ...

  2. Web Service学习笔记:动态调用WebService

    原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...

  3. 【转】关于“ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中) 扩展”的错误

    SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 5月 17 18:31:08 2010 Copyright (c) 1982, 2007, Oracl ...

  4. a链接bug

    <a href=”javascript:void(0);” class="btn" id="btn"></a> 在ios系统中(andr ...

  5. CSS3可按进度变色的进度条

    原文:CSS3可按进度变色的进度条 今天是周末,看到一款利用CSS3实现的进度条应用,觉得非常棒,就将它分享给大家,并且将这款CSS3进度条的实现过程大致整理了一下,实现的关键是根据当前的进度需要能改 ...

  6. Object-C中Category类体验

    Object-C中Category类体验 Object-C开发的时候有的时候会用到Category类,类似于Java和C#中扩展类,就是如果你觉得如果你觉得常用的方法在String中没有,可以根据业务 ...

  7. 【POJ3037】Skiing 最短路

    题意: 有个n*m的滑雪场,bessie要从(1,1)滑到(n,m),问最小时间. 起始有一个速度v,然后每从一个点A到一个点B(仅仅能上下左右走,每次一格),速度就会乘上2^(权值A-权值B). 然 ...

  8. 设计模式学习--Factory Method

    What Factory Method:定义一个创建对象的接口,让子类来决定实例化哪一个类.Factory Method使一个类的实例化延迟到其子类. Why Factory Method是一个比較基 ...

  9. avalonjs 1.3.7发布

    avalonjs 1.3.7发布 又到每个月的15号了,现在avalon已经固定在每个月的15号发布新版本.这次发布又带来许多新特性,让大家写码更加轻松,借助于“操作数据即操作DOM”的核心理念与双向 ...

  10. 批处理中set截取字符具体解释

    set截取字符具体解释  在批处理中,set的功能有点繁杂:设置变量.显示环境变量的名及值.做算术运算.等待用户的输入.字符串截取.替换字符串,是我们经常使用的命令之中的一个. 在字符串截取方面,新手 ...