VS 2010のwinformsアプリケーションでQRコードをデコードするためにzXingC#ライブラリを使用しています。一部の画像では正常に機能しますが、一部の画像では失敗します。
例外メッセージ:
タイプ'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はデコード関数を含むクラスのオブジェクトです。
以下は、デコードに失敗した画像です。
次のWebサイトでデコードしてみました。そしてそこでデコードされます。
http://www.patrick-wied.at/static/qrgen/
そして、次の画像は正常にデコードされます。
問題を解決するのを手伝ってください