私はビットマップ画像を読み取ってドキュメントの特定の領域のqrコードをデコードするこのメソッドを持っています(qrコードの四隅を調べます)私のコードを持っている方法のために、それは私ができないことを知っているエラーメッセージを常にヒットしていますビットマップを見つけますが、このエラーを取得して、ドキュメントを回転させてqrビットマップイメージを再度探すという残りのコードを実行する方法で変換したいと思います。
コード:
Bitmap[] corners = new Bitmap[] { bandImg1, bandImg2, bandImg3, bandImg4 };
string QRinfo = "";
for (int i = 0; i < corners.Length; ++i)
{
string tempQRinfo = Process(corners[i]);
if (tempQRinfo == null)
{
QRinfo = tempQRinfo;
switch (i)
{
case 0: break; //upper left
case 1: fullImg.RotateFlip(RotateFlipType.Rotate270FlipNone); break;
case 2: fullImg.RotateFlip(RotateFlipType.Rotate90FlipNone); break;
case 3: fullImg.RotateFlip(RotateFlipType.Rotate180FlipNone); break;
}
break;
}
}
画像が見つからないときにエラーの原因となっている処理方法。
public string Process(Bitmap bitmap)
{
var reader = new com.google.zxing.qrcode.QRCodeReader();
try
{
LuminanceSource source = new RGBLuminanceSource(bitmap, bitmap.Width, bitmap.Height);
var binarizer = new HybridBinarizer(source);
var binBitmap = new BinaryBitmap(binarizer);
return reader.decode(binBitmap).Text;
}
catch (Exception e)
{
return e.Message;
}
}
ヘルプ:エラーメッセージを翻訳して、qrコードがある四隅すべてでドキュメントを検索し、上記のように回転させたいと思います。