zxing库在android中不扫描二维码黑底白码(负扫描)

问题描述 投票:0回答:2

在我的应用程序中使用 zxing 库扫描二维码,但库不支持扫描黑码中的白色(负扫描),所以请建议我解决如何解决此问题。

android zxing
2个回答
0
投票

添加以下代码,source.invert() 将完成您的工作

 LuminanceSource source = new RGBLuminanceSource(bitmaps[0].getWidth(), 
 bitmaps[0].getHeight(), intArray);
 BinaryBitmap bMap = new BinaryBitmap(new HybridBinarizer(source));

        try {
            result = reader.decode(bMap);
        } catch (Exception e) {
            BinaryBitmap bMap1 = new BinaryBitmap(new HybridBinarizer(source.invert()));
            try {
                result = reader.decode(bMap1);
            } catch (NotFoundException notFoundException) {
              //  notFoundException.printStackTrace();
            } catch (ChecksumException checksumException) {
                //checksumException.printStackTrace();
            } catch (FormatException formatException) {
                //formatException.printStackTrace();
            }
        }
        return result;

0
投票

如果您添加 zxing-android-embedded 库,则必须将此代码添加到您的启动器中:

scannerLauncher1.launch(
ScanOptions().setPrompt("scan your code")
 .setDesiredBarcodeFormats(ScanOptions.ALL_CODE_TYPES)
 .addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.INVERTED_SCAN)
)

此代码反转您的条形码颜色并可以检测到它! 祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.