现公司使用的Aspose.BarCode.dll这个类库生成条形码。进行传真匹配。识别率能达到70%
近期需提高识别率,所以想通过使用二维码来进行。
在网上查找了很多示例,Aspose.BarCode.dll也是可以生成二维码,但是这个类库是需要续费的。
看了下google用JAVA做的开源zxing 但是,没有找到具体怎么在C#中如何使用的类库。与相关的示例。
也在CSDN下载了“C#二维码QRCode2”这个示例程序。这个不错,是别人自己写的。
生成二维码是比较容易的。但是,读取的时候我们是通过客户传回来的传真文件。文本格式“.tif”类似图片。
是这个传真页面,所以的先找到页面的二维码坐标之类的东西。。
各位高手,有没有类似的示例。或方案!提供下给小弟。万分感谢!
------解决方案--------------------------------------------------------
NickLee.Web.UI中的QRCode读写,写比较好,读还是建议用硬件设备
中文问题Ansi->Unicode即可
参考地址:www.cnblogs.com/mail-ricklee
org.zxing,写比较不好,读很好,可以参考
参考地址:http://code.google.com/p/zxing/
------解决方案--------------------------------------------------------
dll下载222.175.220.26:88/zxing.rar
使用
- C# code
string content = "tel:汉ooj字"; Hashtable h = new System.Collections.Hashtable(); h.Add("UTF-8", "UTF-8"); ByteMatrix byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 200, 200, h); Bitmap bitmap = toBitmap(byteMatrix); MemoryStream ms = new MemoryStream(); bitmap.Save("c:\\1\\a.jpg", ImageFormat.Jpeg); Image img = Image.FromFile("c:\\1\\a.jpg"); Bitmap bmap; try { bmap = new Bitmap(img); } catch (System.IO.IOException ioe) { return; } if (bmap == null) { return; } LuminanceSource source = new RGBLuminanceSource(bmap, bmap.Width, bmap.Height); com.google.zxing.BinaryBitmap bitmapdc = new com.google.zxing.BinaryBitmap(new HybridBinarizer(source)); Result result; try { result = new MultiFormatReader().decode(bitmapdc); } catch (ReaderException re) { return; } Response.Write(result);
------解决方案--------------------------------------------------------
你获取TIF就知道点阵信息.如果你的发送传真位置基本固定.如果位置不固定.你可以考虑使用楼上贴的QR码 这个有定位符..这3个大防快不难找把. 然后按巨型获取出来信息 3个大方块的位置确定了 获取个矩形也不难把.然后给你的DLL识别就好了.