2016-11-17 14 views
0

Qr 코드를 생성하고 스캔 할 수있는 안드로이드 응용 프로그램을 만들었습니다. Qr 코드를 생성 할 때 zxing qr 스캐너를 사용하여 수평 적으로 만 읽을 수 있지만, 그것이 내가 검색ZXING 안드로이드 QR 코드 모드 1 및 모드 2 유형

도 세로 형식에서 읽을 수있는 내가 기본 QR 코드 MODE1 및 MODE2의 2 개 종류가 난 단지 MODE1

를 생성 할 수 있습니다 zxing 것은 거기에 결론이 있다는 것을 알아 구글에 샘플 QR 코드를 찾을 어떤 방식으로 스캐너를 가로 또는 세로로 읽을 수 있도록 MODE2로 zxing을 사용하여 생성 된 QR 코드 유형을 변경할 수 있습니까?

감사합니다. 여기

는, 내가

MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); 

      try{ 
       BitMatrix bitMatrix = multiFormatWriter.encode(text.getText().toString(), BarcodeFormat.QR_CODE,200,200); 

       BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); 
       Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix); 
       image.setImageBitmap(bitmap); 

      }catch (WriterException e){ 
       e.printStackTrace(); 
      } 

답변

1

시도가 코드에 기초 overloaded encoding function

public BitMatrix encode(String contents, 
        BarcodeFormat format, 
        int width, 
        int height, 
        Map<EncodeHintType,?> hints) 
      throws WriterException 

// 편집 의 힌트 매개 변수에서 EncodedHintType QR_Version로 설정하기 위해 생성하는 데 사용하는 코드입니다 그것은 이렇게 보일 수 있습니다. 그러나 코드를 테스트하지는 않았습니다.

MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); 

     try{ 
      Map<EncodeHintType, Object> hints = new EnumMap<EncodeHintType, Object>(EncodeHintType.class); 
      hints.put(EncodeHintType.QR_VERSION, 2); 
      BitMatrix bitMatrix = multiFormatWriter.encode(text.getText().toString(), BarcodeFormat.QR_CODE,200,200, hints); 

      BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); 
      Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix); 
      image.setImageBitmap(bitmap); 

     }catch (WriterException e){ 
      e.printStackTrace(); 
     } 
+0

내 코드에 답해 주셔서 감사합니다. 정말 고마워요. –

+0

코드를 사용해 보았지만 EncodeHintType.QR_VERSION이 라이브러리를 가져온 라이브러리에서 부적절했습니다.하지만 QR_VERSION을 검색 할 때 아무 것도 나타나지 않습니다. 어쨌든 도와 주셔서 감사합니다. D –

+0

어떤 버전의 zxing을 사용합니까? – Romanski