(转)WP7 条码识别
原文地址:http://www.cnblogs.com/bryht/archive/2012/05/16/2503581.html
条码基本知识 :
一维条码:UPC 、EAN
EAN-13 (European Article Numbering, Type=1),共13位数,由「国家代码」3位数,「厂商代码」4位数,「产品代码」5位数,以及「检查码」1位数组成。中国的国家代码为690-693。
(清风面值编码)
EAN-8 (Type=2),共有8位数,包括国别码2位,产品代码5位,及检查码1位。当包装面积小於120平方公分以下无法使用标准码时,可以申请使用缩短码。
UPC (Universal Product Code, UPC-A Type=3, UPC-E Type=4),共有12位数,第一位区分编号系统,「厂商代码」5位数,「产品代码」5位数,以及「检查码」1位数组成,根据具体行业的不同,衍生A,B,C,D,E五个版本,主要用于美国和加拿大地区,从2005年开始,接受EAN-13作为其一个标准子集。
等等,还有很多类型,只不过这个最常用也最普遍。
二维条码:QR_CODE
QR Code (Type=99),1994年由日本Denso-Wave公司发明,可以包含2509个数字或者1520个ASCII字符。QR是英文Quick Response的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。Quick Response 牛逼之处就是超高速识别。。。
等等,还有很多类型,只不过这个最常用也最普遍。
条码技术点
用到了开源条码解析程序:Zxing二维码:http://silverlightzxing.codeplex.com/
Catch到ReaderException并做如下判断,实现一二维码自动切换识别
if (WP7BarcodeManager.ScanMode == BarcodeFormat.QR_CODE)
{
WP7BarcodeManager.ScanMode = BarcodeFormat.UPC_EAN;
this._barcodeReader = WP7BarcodeManager.GetReader();
}
else
{
WP7BarcodeManager.ScanMode = BarcodeFormat.QR_CODE;
this._barcodeReader = WP7BarcodeManager.GetReader();
}
这个比较恶,不过效果还不错,哈哈
附件源码是在Zxing基础上参考京东商城改的
其实市场里的我查查和京东商城的条码识别都是用的Zxing,只不过做了自己的封装