** ラップトップでカメラを使用せずにQRコードを読み取る(デコードする)ためのJavaアプリケーションを開発しています。QR コードの生成に ZXING JAR を使用しています。**
そのQRコードの操作を行っています。さて、カメラを使わずにQRコードが正常かどうかを確認したいと思いました。
それを行う方法はありますか?
ZXing には、通常の Java をデコードするための重要な機能を提供するJavaSE モジュールがあります。BufferedImageLuminanceSource
BufferedImage
ZXing の JavaSE DecodeThreadから抽出された最低限のもの:
BufferedImage image = ...
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result = new MultiFormatReader().decode(bitmap);
decode()
が例外をスローしない場合、ZXing はバーコードをデコードできました (バーコードの内容を確認できます)。
http://zxing.org/w/docs/javadoc/com/google/zxing/Reader.html#decode(com.google.zxing.BinaryBitmap , java.util.Map)
MultiFormatReader
たとえば、オーバーロードを使用して QR コードのみを解析するように を構成し、decode(BinaryBitmap, Map<DecodeHintType,?> hints)
任意の数のデコード ヒントを指定できます。あるいは、本当に QR コードだけが必要な場合は、 のQRCodeReader
代わりにa を使用しMultiFormatReader
ます。