Я учусь java прямо сейчас. Я прочитал статью о двухуровневом хранилище сообщений в QR-коде здесь . Затем я поискал его на Github и нашел коды здесь . Автор сказал, что сообщение Publi c может прочитать любой классический считыватель QR-кода. Но я попытался прочитать сообщение Publi c из двухуровневого формата QR-кода, но результат:
com.google.zxing.NotFoundException
Это это мой метод чтения QR-кодов
public static String readQRCode(String filePath, String charset, Map hintMap)
{
String res="";
try
{
BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(ImageIO.read(new FileInputStream(filePath)))));
Result qrCodeResult = new MultiFormatReader().decode(binaryBitmap,hintMap);
res= qrCodeResult.getText();
}
catch(Exception e)
{
e.printStackTrace();
}
return res;
}
И это мой основной класс
public static void main(String[] args){
Map hints = new HashMap();
String charset = "UTF-8";
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.QR_VERSION, "4");
hints.put(DecodeHintType.PURE_BARCODE, true);
hints.put(DecodeHintType.POSSIBLE_FORMATS, EnumSet.allOf(BarcodeFormat.class));
String content="";
content+=readQRCode("2LQR.jpg", charset, hints);
System.out.println(content);
}
Это Двухуровневое изображение QR-кода . Есть ли другой способ прочитать такой QR-код? или я должен что-то изменить?