Мы также убедились, что трудно найти рабочие образцы для zxing.Net. После объединения некоторых из них (я не могу вспомнить, где мы их нашли) и проб и ошибок мы нашли, что это было удовлетворительным (выдержка):
[DebuggerHidden]
string findQrCodeText(com.google.zxing.Reader decoder, Bitmap bitmap)
{
var rgb = new RGBLuminanceSource(bitmap, bitmap.Width, bitmap.Height);
var hybrid = new com.google.zxing.common.HybridBinarizer(rgb);
com.google.zxing.BinaryBitmap binBitmap = new com.google.zxing.BinaryBitmap(hybrid);
string decodedString = decoder.decode(binBitmap, null).Text;
return decodedString;
}
который называется
findQrCodeText(new com.google.zxing.qrcode.QRCodeReader(), bitmap);
Мы делаем какое-то изображение вуду вокруг этого, чтобы получить немного лучшие результаты, но я боюсь, что не могу раскрыть это. Этот фрагмент кода является частью zxing.
Мы добавили DebuggerHiddenAttribute
, потому что zxing внутренне генерирует и поглощает тонны исключений, что является настоящей PITA при работе в режиме отладки.