+ -
当前位置:首页 → 问答吧 → C#在使用zxing的时候总是引发类型为“com.google.zxing.ReaderException”的异常。

C#在使用zxing的时候总是引发类型为“com.google.zxing.ReaderException”的异常。

时间:2011-10-28

来源:互联网

求解
调用代码如下:
 MultiFormatReader reader = new MultiFormatReader();
  Bitmap bitmap = new Bitmap("test.png");
  RGBLuminanceSource source = new RGBLuminanceSource(bitmap,bitmap.Width,bitmap.Height);
  HybridBinarizer binarizer = new HybridBinarizer(source);
  BinaryBitmap bbitmap = new BinaryBitmap(binarizer);
  //Hashtable hints = new Hashtable();
  //hints.Add(DecodeHintType.ASSUME_CODE_39_CHECK_DIGIT, "GBK");
  Result result = new MultiFormatReader().decode(bbitmap);
  tb_result.Text = result.Text;  

到这一步 Result result = new MultiFormatReader().decode(bbitmap);无论用什么解码方式都抛出异常,我用的二维码在QRcode可以解出来。
另外还要问下
如果使用摄像头扫描的话,拍下的照片需要再处理么,还是直接输入zxing就可以解码。求高手指教

作者: gaimingkeyong   发布时间: 2011-10-28

高手在那里,请求帮忙

作者: gaimingkeyong   发布时间: 2011-10-28

一样的问题 ,请问解决了没有?

作者: cheeks   发布时间: 2011-12-14

测试了一下 ,在C#里面的调用,二维码使用的字符长度好像是 367个字符,如果超过就会报错,在字符以内就不会出错,不知道在别的环境中会不会出现这个问题。

作者: cheeks   发布时间: 2011-12-14

后来又作了个测试,好像跟图片的像素有关系 ,在 367个 字符生成的图片 60*60 的二维码 是没有问题的,如果超过了 就会出现你说的问题,如果吧图片改大得话 就不会存在你得问题,所以通过计算可以得到 二维码在10*10 的图片上存放6个字符左右 应该是没有问题,所以应该是C#的 zxing 类库里面对 字符长度进行了限制,后期研究看下 ,能不能改进 ,高手你也看看

作者: cheeks   发布时间: 2011-12-14