C# 二维码 方案 各抒己见
本帖最后由 Wu_Denny 于 2011-08-30 10:17:53 编辑 现公司使用的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
使用
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);