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

zxing.net是.net平台下编解条形码和二维码的工具,使用非常方便。

首先下载二进制dll文件,引入工程;

代码:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using ZXing.QrCode;
  9. using ZXing;
  10. using ZXing.Common;
  11. using ZXing.Rendering;
  12. namespace zxingTest
  13. {
  14. public partial class Form1 : Form
  15. {
  16. EncodingOptions options = null;
  17. BarcodeWriter writer = null;
  18. public Form1()
  19. {
  20. InitializeComponent();
  21. options = new QrCodeEncodingOptions
  22. {
  23. DisableECI = true,
  24. CharacterSet = "UTF-8",
  25. Width = pictureBoxQr.Width,
  26. Height = pictureBoxQr.Height
  27. };
  28. writer = new BarcodeWriter();
  29. writer.Format = BarcodeFormat.QR_CODE;
  30. writer.Options = options;
  31. }
  32. private void buttonQr_Click(object sender, EventArgs e)
  33. {
  34. if (textBoxText.Text == string.Empty)
  35. {
  36. MessageBox.Show("输入内容不能为空!");
  37. return;
  38. }
  39. Bitmap bitmap = writer.Write(textBoxText.Text);
  40. pictureBoxQr.Image = bitmap;
  41. }
  42. }
  43. }

效果:


 将字符编码时可以指定字符格式;默认为ISO-8859-1英文字符集,但一般移动设备常用UTF-8字符集编码,

可以通过QrCodeEncodingOptions设置编码方式。

如果要生成其他zxing支持的条形码,只要修改BarcodeWriter.Format就可以了。

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using ZXing.QrCode;
  9. using ZXing;
  10. using ZXing.Common;
  11. using ZXing.Rendering;
  12. namespace zxingTest
  13. {
  14. public partial class Form1 : Form
  15. {
  16. EncodingOptions options = null;
  17. BarcodeWriter writer = null;
  18. public Form1()
  19. {
  20. InitializeComponent();
  21. options = new EncodingOptions
  22. {
  23. //DisableECI = true,
  24. //CharacterSet = "UTF-8",
  25. Width = pictureBoxQr.Width,
  26. Height = pictureBoxQr.Height
  27. };
  28. writer = new BarcodeWriter();
  29. writer.Format = BarcodeFormat.ITF;
  30. writer.Options = options;
  31. }
  32. private void buttonQr_Click(object sender, EventArgs e)
  33. {
  34. if (textBoxText.Text == string.Empty)
  35. {
  36. MessageBox.Show("输入内容不能为空!");
  37. return;
  38. }
  39. Bitmap bitmap = writer.Write(textBoxText.Text);
  40. pictureBoxQr.Image = bitmap;
  41. }
  42. }
  43. }

效果:


 输入字符串需要符合编码的格式,不然会报错。
解码方式:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using ZXing.QrCode;
  9. using ZXing;
  10. using ZXing.Common;
  11. using ZXing.Rendering;
  12. namespace zxingTest
  13. {
  14. public partial class Form1 : Form
  15. {
  16. BarcodeReader reader = null;
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. reader = new BarcodeReader();
  21. }
  22. private void Form1_DragEnter(object sender, DragEventArgs e)//当拖放进入窗体
  23. {
  24. if (e.Data.GetDataPresent(DataFormats.FileDrop))
  25. e.Effect = DragDropEffects.Copy;    //显示拷贝效应
  26. else
  27. e.Effect = DragDropEffects.None;
  28. }
  29. private void Form1_DragDrop(object sender, DragEventArgs e) //当拖放放在窗体上
  30. {
  31. string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, false); //获取文件名
  32. if (fileNames.Length > 0)
  33. {
  34. pictureBoxPic.Load(fileNames[0]);   //显示图片
  35. Result result = reader.Decode((Bitmap)pictureBoxPic.Image); //通过reader解码
  36. textBoxText.Text = result.Text; //显示解析结果
  37. }
  38. }
  39. }
  40. }


 

C#利用zxing.net操作二维码和条形码的更多相关文章

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

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

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

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

  3. C# .Net 使用zxing.dll生成二维码,条形码

    public static string GetBarcode(string format, string value, int? width, int? height)        {       ...

  4. Android ZXing 二维码、条形码扫描介绍

    本帖最后由 Shims 于 2013-11-9 12:39 编辑 最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个开源的 ZXing项目.它提供二维码和条形码 ...

  5. 使用zxing生成解析二维码

    1. 前言 随着移动互联网的发展,我们经常在火车票.汽车票.快餐店.电影院.团购网站以及移动支付等各个场景下见到二维码的应用,可见二维码以经渗透到人们生活的各个方面.条码.二维码以及RFID被人们应用 ...

  6. 二维码、条形码扫描——使用Google ZXing

    我在项目中用到了二维码扫描的技术,用的是Google提供的ZXing开源项目,它提供二维码和条形码的扫描.扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指定的二维码格式进行编码和解码. 可以 ...

  7. 二维码之zxing仿新浪微博二维码

    在前言中最后部分,提到了二维码开发工具资源ZXing.网上有它最新1.7版的源码,感兴趣的可以下载下来看看,要打包生成core比较麻烦,网上有相关教程.嫌麻烦的朋友,可以去我的资源里下载Java版的c ...

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

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

  9. Android二维码开源项目zxing用例简化和生成二维码、条形码

    上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的測试程序:CaptureActivity比較复杂,我仅仅要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自 ...

随机推荐

  1. C#托管代码是什么?非托管代码是什么?

    C#托管代码是什么? 托管代码(Managed Code)实际上就是中间语言(IL)代码.代码编写完毕后进行编译,此时编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码.程序集( ...

  2. Linux内核分析-Linux内核如何装载和启动一个可执行程序

    ID:fuchen1994 实验要求: 理解编译链接的过程和ELF可执行文件格式,详细内容参考本周第一节: 编程使用exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态 ...

  3. Socket缓冲区

    1.由于可读状态是在对方写入数据后或socket关闭时才能出现,因此如果客户端和服务端都停留在read时,如果没有任何一方,向对方写入数据,这将会产生一个死锁. 2.此外,在本地接收操作发起之前,很可 ...

  4. L1-011 A-B

    本题要求你计算A−B.不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B. 输入格式: 输入在2行中先后给出字符串A和B.两字符串的长度 ...

  5. 卡巴斯基KAV2013 – 免费一年 (六一活动)

    赠送时间:2013年5月31日10时 至 2013年6月1日24时赠送产品:卡巴斯基反病毒软件2013(一年版)赠送方式:产品激活码将以电邮方式发送到您提交信息的邮箱里,每个邮箱仅能领取一个激活码.温 ...

  6. 修改已经创建的docker容器的端口映射

    原始链接:https://stackoverflow.com/questions/19335444/how-do-i-assign-a-port-mapping-to-an-existing-dock ...

  7. 【记录】恢复win7与ARM开发板TQ2440的串口连接

    1.给板子上电. 2.接好物理上的串口连接,板子那端就是普通的RS232串口,电脑这端是USB转串口的线的USB这头,连到电脑上,然后在Win7系统下,先去看看,当前连接的USB虚拟出来的串口是哪个口 ...

  8. 自定义页签logo

    1.webpack.prod.conf new HtmlWebpackPlugin({ filename: process.env.NODE_ENV === 'testing' ? 'index.ht ...

  9. phpStrom激活

    直接用浏览器打开 http://idea.lanyus.com/ ,点击页面中的“获得注册码”,然后在注册时切换至Activation Code选项,输入获得的注册码一长串字符串,便可以注册成功了!( ...

  10. can-utils源码解析cansend

    前言 本文主要介绍socketCan中的发送函数cansend的源码解析. 代码 /* * cansend.c - simple command line tool to send CAN-frame ...