2012-11-02 240 views
0

我正在使用zXing C#庫來解碼VS 2010中winforms應用程序中的QR碼。它對一些圖像正常工作,但對於少數圖像無效。zXing:無法讀取有效的QR碼

異常消息:

「類型 'com.google.zxing.ReaderException' 引發的異常」。

這裏是我的代碼:

代碼,返回功能解碼的數據

調用上述功能
public string GetQRValue(Bitmap value) 
    { 
     string result = string.Empty; 

     try 
     { 
      QRCodeReader reader = new QRCodeReader(); 
      //com.google.zxing.Reader re 
      com.google.zxing.LuminanceSource source = new RGBLuminanceSource(value, value.Width, value.Height); 
      var binarizer = new HybridBinarizer(source); 
      var binBitmap = new BinaryBitmap(binarizer); 
      result = reader.decode(binBitmap).Text; 
     } 
     catch(Exception ex) 
     { 
      result = ex.Message; //string.Empty; 
     } 

     return result; 
    } 

代碼:

Bitmap image1 = (Bitmap)Image.FromFile(txtFile.Text , true); 
lblData.Text = cls.GetQRValue(image1); 

這裏txtFile是文件的路徑,cls是包含解碼函數的類的對象。

以下是無法解碼的圖像。

Qr code that fails to decode
我試着試着在以下網站對其進行解碼。在那裏解碼。
http://www.patrick-wied.at/static/qrgen/

而下面的圖像被成功解碼。

Qr code that decoded successfully

請幫我解決這個問題

回答

0

C#的端口是有點老,而不是維護。它看起來像是你的二進制化問題,或者是端口的一些問題,因爲主分支(Java)解碼了這些罰款:

http://zxing.org/w/decode?u=http%3A%2F%2Fi.stack.imgur.com%2FTEiIH.jpg&full=true http://zxing.org/w/decode?u=http% 3A%2F%2Fi.stack.imgur.com%2FP8irV.png & full = true

+0

::然後,我該怎麼辦?任何建議使我的程序準確? –

+0

重新載入Java代碼? –

+0

我想在c# –