Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当图像尺寸较大时,RBGLuminanceSource.toString正在抛出StackOverflowerError_Java_Qr Code_Zxing - Fatal编程技术网

Java 当图像尺寸较大时,RBGLuminanceSource.toString正在抛出StackOverflowerError

Java 当图像尺寸较大时,RBGLuminanceSource.toString正在抛出StackOverflowerError,java,qr-code,zxing,Java,Qr Code,Zxing,我不明白为什么我会被StackOverflower搞错。我正在尝试从图像构建位图来扫描二维码sourcefrom decode()方法是以标准方式构建的: if (bitmap != null) { int[] intArray = new int[bitmap.getWidth() * bitmap.getHeight()]; bitmap.getPixels(intArray, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth()

我不明白为什么我会被StackOverflower搞错。我正在尝试从图像构建位图来扫描二维码sourcefrom decode()方法是以标准方式构建的:

if (bitmap != null) {
      int[] intArray = new int[bitmap.getWidth() * bitmap.getHeight()];
      bitmap.getPixels(intArray, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());
      return new RGBLuminanceSource(bitmap.getWidth(), bitmap.getHeight(), intArray);
然后decode()抛出错误: 源:方法引发了“java.lang”StackOverflowerr异常。无法计算com.google.zxing.RGBLuminanceSource.toString()的值

只有当我上传大尺寸的图像(例如1242x2688px)时才会发生这种情况。当我将上传的图像缩小到2160px的高度时,一切都正常,并且图像被正确扫描。 我找不到任何关于zxing维度限制的信息

有人知道为什么吗?

问题解决了。 我不得不将Zxing libs升级到新版本。在我的问题中,3.3.1已经足够了。 但较新的LIB需要SDK 19+。

问题已解决。 我不得不将Zxing libs升级到新版本。在我的问题中,3.3.1已经足够了。
但是较新的lib需要SDK 19+。

能否提供
decode()
的完整堆栈跟踪和完整代码。SOE通常由循环调用引起,方法A调用方法B,方法B将方法A作为实例调用。能否提供
decode()
的完整堆栈轨迹和完整代码。SOE通常由循环调用引起,方法A调用方法B,方法B将方法A作为实例调用。
private QRCodeMultiReader qrCodeReader;
      
public void decode(LuminanceSource source, ScannerResultListener resultListener) {
        try {
          BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
          String decodedContent = qrCodeReader.decode(bitmap, hints).getText();
          Timber.d("qr code scanner has successfully decoded content: [%s]", decodedContent);
          resultListener.onScanningSuccess(decodedContent);
        } catch (ReaderException re) {
          Timber.d(re.getMessage(), "qr code scanner can not decode code");
          resultListener.onScanningFailure();
        } finally {
          qrCodeReader.reset();
        }
      }