关闭

通过ThoughtWorks.QRCode和ZXing识别二维码

标签: 二维码位图
1362人阅读 评论(1) 收藏 举报
分类:

开发中用到两种识别二维码的方法,在这里一一列举一下,通过例子来详细解释一下。

ThoughtWorks.QRCode

在项目中首先要引入ThoughtWorks.QRCode.dll库文件。

using ThoughtWorks.QRCode.Codec;
using ThoughtWorks.QRCode.Codec.Data;
using System.Drawing;

	public string CodeDecoder(string filePath)
	{
		if (!System.IO.File.Exists (filePath))//判断有没有需要读取的主文件夹,如果不存在,终止
			return null;
		
		 Bitmap bitMap = new Bitmap (Image.FromFile (filePath));//实例化位图对象,把文件实例化为带有颜色信息的位图对象
		QRCodeDecoder decoder = new QRCodeDecoder ();//实例化QRCodeDecoder
		string decoderStr = decoder.decode (new  QRCodeBitmapImage (bitMap), System.Text.Encoding.UTF8);//通过.decoder方法把颜色信息转换成字符串信息
		return decoderStr;//返回字符串信息
	}


ZXing

项目中要引入ZXing.dll

using ZXing;
using System.IO;
using System.Drawing;

public string CodeDecoder(string filePath)
	{
		if (!System.IO.File.Exists (filePath))//同上
			return;

		Bitmap bitMap = new Bitmap (filePath);//同上
		MemoryStream ms = new MemoryStream ();//实例化内存流
		bitMap.Save (ms, System.Drawing.Imaging.ImageFormat.Bmp);//把位图信息保存到内存流里面
		byte[] bytes = ms.GetBuffer ();//把颜色信息转化为byte数据

		LuminanceSource source = new RGBLuminanceSource (bytes, bitMap.Width,bitMap.Height);//得到位图的像素数值内容
		BinaryBitmap bb = new BinaryBitmap(new ZXing.Common.HybridBinarizer(source));//处理像素值内容信息

		MultiFormatReader mutireader = new ZXing.MultiFormatReader ();//实例化MultiFormatReader
		Result str = mutireader.decode(bb);//通过mutireader.decode()得到解析后的结果
		if(str == null)
			return null;
		return str.Text;//返回解析结果
		ms.Close ();//关闭内存流
	}

互相学习

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

C# 生成二维码 两种方式ThoughtWorks.QRCode ZXing

 ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2S...
  • qq61394323
  • qq61394323
  • 2014-08-05 09:57
  • 13198

zxing扫描二维码和识别图片二维码及其优化策略

转自: 二维码介绍 Android中用于二维码相关的库比较少,并且大多数已经不再维护(具体可见https://android-arsenal.com/tag/81)。其中最常用的是zxing和zb...
  • u012917700
  • u012917700
  • 2016-08-30 14:47
  • 23686

Zxing和QR CODE 生成与解析二维码实例(普通篇)

Zxing是Google提供的关于条码(一维码、二维码)的解析工具,利用Zxing和DENSO的QR CODE生成普通的二维码实例
  • gao36951
  • gao36951
  • 2014-11-15 18:09
  • 33646

zxing QR码中文识别乱码解决

在做项目的时候用到zxing开源库,一开始
  • xiaoyanghijk
  • xiaoyanghijk
  • 2014-04-09 12:10
  • 4156

二维码的两种实现方式QrCode,Zxing

  • 2014-02-21 10:27
  • 1.33MB
  • 下载

java生成二维码使用QRCode和ZXing两种方式

QRCode是日本人开发的ZXing是google开发的 QRCode方式: package cn.utils; import java.awt.Color; import java.awt.G...
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2014-09-22 14:39
  • 16347

C#、二维码生成&识别、内含ThoughtWorks.QRCode.dll(11版本)

  • 2017-01-03 11:03
  • 6.51MB
  • 下载

用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误

字符串较长的情况下,用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误。 解决方法:将 QRCodeVersion 改为0。
  • coast0824
  • coast0824
  • 2013-12-05 14:46
  • 10924

ZXing 相册中识别二维码和条形码(直接引用就可以了)

*百度了很久一直没有找到关于相册获取条形码的Demo,真心是醉了,只能苦逼的去自己看 闲话不说直接搞起分析:*核心 1,通过路径转换成bitmp对象 2,再bitmap对象转换成二进制图片(二值...
  • tongzhengtong
  • tongzhengtong
  • 2016-06-27 20:32
  • 5767

使用Zxing实现拍照,选取图片识别二维码

转载请注明出处 作者:AboutJoke ( http://blog.csdn.net/u013200308 ) 原文链接:http://blog.csdn.net/u013200308/ar...
  • u013200308
  • u013200308
  • 2017-03-29 17:34
  • 1346
    个人资料
    • 访问:7314次
    • 积分:278
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:8篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论