この問題に関するいくつかの質問と投稿を読んだ後、Zxingディスプレイを回転させようとしています。指示に従った後、ディスプレイは回転しましたが、スキャナーの長方形が適切に配置されていません(添付の画像で確認できます)。
これは私がしたことです:
CameraConfigurationManagerの場合:
camera.setDisplayOrientation(90);
DecodeHandler.javaで
byte[] rotatedData = new byte[data.length]; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) rotatedData[x * height + height - y - 1] = data[x + y * width]; } int tmp = width; width = height; height = tmp;
CameraManager.javaの場合:
rect.left = rect.left * cameraResolution.y / screenResolution.x; rect.right = rect.right * cameraResolution.y / screenResolution.x; rect.top = rect.top * cameraResolution.x / screenResolution.y; rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;