.NET C#利用ZXing生成、识别二维码/条形码

一、首先下载 ZXing.Net

地址是:http://zxingnet.codeplex.com/releases/view/117068

然后将对应版本 .dll 拖入项目中,再引用之。

主要是用 BarcodeWriter、BarcodeReader。

二、生成二维码

.NET 平台的代码始终要简单些。

QrCodeEncodingOptions options = new QrCodeEncodingOptions();
options.CharacterSet = "UTF-8";
options.DisableECI = true; // Extended Channel Interpretation (ECI) 主要用于特殊的字符集。并不是所有的扫描器都支持这种编码。
options.ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.H; // 纠错级别
options.Width = 300;
options.Height = 300;
options.Margin = 1;
// options.Hints,更多属性,也可以在这里添加。

BarcodeWriter writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
writer.Options = options;

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

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

纠错级别:

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

三、生成条形码

QrCodeEncodingOptions options = new QrCodeEncodingOptions();
options.CharacterSet = "UTF-8";
options.Width = 300;
options.Height = 50;
options.Margin = 1;
options.PureBarcode = false; // 是否是纯码,如果为 false,则会在图片下方显示数字

BarcodeWriter writer = new BarcodeWriter();
writer.Format = BarcodeFormat.CODE_128;
writer.Options = options;

Response.Clear();
using (Bitmap bmp = writer.Write("12345678"))
{
 MemoryStream ms = new MemoryStream();
 {
  bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

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

四、识别二维码、条形码

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

总结

好了,以上就是这篇文章的全部内容了,如果要改变背景颜色、画头像,可以直接在 Bitmap 中画,希望本文的内容对大家的学习或者工作能带来一定的帮助

(0)

相关推荐

  • 使用Zxing实现二维码生成器内嵌图片

    使用Zxing实现二维码生成器内嵌图片,具有一定的参考价值,具体如下: 基本思路是先使用zxing生成的二维码图片,然后读取图片,在其中插入图标,然后整个输出图片. 最近的项目中需要生成二维码,找了几个例子综合下,做出了最后的效果,二维码可以生成图片格式(jpg等)或者在web页面上显示,此片文章仅作记录,雷同之处多多,包涵.... 注:需要Zxing包装的工具类,大概的流程是读取内嵌的图片,将内容转化成二维码,将图片内嵌到二维码中,出图. 下面是完整代码: import Java.awt.Ba

  • 详解ZXing-core生成二维码的方法并解析

    二维码无处不在,扫一扫有礼品哦,现在二维码这么流行,想必大家不是很清楚二维码是怎么生成的吧,现在小编通过给大家分享本文帮助大家学习二维码生成的方法. 其实主要是利用goggle发布的jar来使用的此功能. 1.二维码的生成 将Zxing-core.jar 包加入到classpath下. 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类拷贝到源码中,这里我将该类的源码贴上,可以直接使用. 直接可以生成二维码的代码 public void test

  • c#裁剪图片后使用zxing生成二维码示例分享

    复制代码 代码如下: /// <summary>/// 生成二维码/// </summary>/// <param name="fileName">生成二维码路径</param>/// <param name="url">生成的内容</param>/// <param name="width">二维码宽</param>/// <param nam

  • Java利用Zxing生成二维码的简单实例

    Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法,现在我简单介绍一下使用Java利用Zxing生成与解析二维码 1.二维码的生成 1.1 将Zxing-core.jar 包加入到classpath下. 1.2 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类拷贝到源码中,这里我将该类的源码贴上,可以直接使用. import com.google.zxing.common.BitMatrix; i

  • C# zxing二维码写入的实例代码

    复制代码 代码如下: private void button1_Click(object sender, EventArgs e)        {            if (string.IsNullOrEmpty(this.textBox1.Text.Trim()))            {                MessageBox.Show("请输入需要转换的信息!");                return;            } string con

  • Android基于google Zxing实现各类二维码扫描效果

    随着微信的到来,二维码越来越火爆,随处能看到二维码,比如商城里面,肯德基,餐厅等等,对于二维码扫描我们使用的是google的开源框架Zxing,我们可以去http://code.google.com/p/zxing/下载源码和Jar包,之前我项目中的二维码扫描功能只实现了扫描功能,其UI真的是其丑无比,一个好的应用软件,其UI界面也要被大众所接纳,不然人家就不会用你的软件啦,所以说应用软件功能和界面一样都很重要,例如微信,相信微信UI被很多应用软件所模仿,我也仿照微信扫描二维码效果进行模仿,虽然

  • Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题

    先给大家展示下效果图: 扫描内容是下面这张,二维码是用zxing库生成的 由于改了好几个类,还是去年的事都忘得差不多了,所以只能上这个类的代码了,主要就是改了这个CaptureActivity.java package com.zxing.activity; import java.io.IOException; import java.util.Vector; import android.app.Activity; import android.content.Intent; import

  • Android项目实战(二十八):使用Zxing实现二维码及优化实例

    前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中我们也许只会用到二维码的扫描和生成两个功能,所以不必下载完整的jar包,使用简化版的即可,下文可见. 这篇文章讲述: 1.如果快速在项目中集成zxing,实现扫描和生成二维码功能 2.根据项目需求去修改源码实现我们的要求并进行优化 一.快速集成zxing二维码 1.下载库文件 :http://xiazai.jb51.net/201611/yuanma/ZXingB

  • Android上使用ZXing识别条形码与二维码的方法

    目前有越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.手机具备条码扫描的功能,可以优化购物流程,快速存储电子名片(二维码)等. 本文所述实例就使用了ZXing 1.6实现条码/二维码识别.ZXing是个很经典的条码/二维码识别的开源类库,早在很久以前,就有开发者在J2ME上使用ZXing了,只不过需要支持JSR-234规范(自动对焦)的手机才能发挥其威力,而目前已经有不少Android手机具备自动对焦的功能. 本文代码运行的结果如下,使用91手机助手截图时,无法截

  • Android基于google Zxing实现二维码的生成

    最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中.   下面来介绍这个Demo的主类 public class BarCodeTestActivity extends Activity { priv

随机推荐