1zxingの紹介
2次元コードの生成と分析。多くの方法があります。zxingを使用することを選択します。ZXingは、Javaで実装された複数の形式のオープンソースの1D / 2Dバーコード画像処理ライブラリであり、他の言語に接続するためのポートが含まれています。Zxingは、携帯電話の内蔵カメラを使用して、バーコードをスキャンおよびデコードできます。
2zxingダウンロード
Jarダウンロードパス:
https://codeload.github.com/zxing/zxing/zip/master
3プロジェクトでのアプリケーション
3.1最初にプロジェクトにzxingjarを導入します
3.2新しいTestZXingクラスを作成し、QRコードコードを記述します
パッケージテスト;
java.io.Fileをインポートします。
インポートjava.io.IOException;
インポートjava.nio.file.Path;
java.util.HashMapをインポートします。
インポートcom.google.zxing.BarcodeFormat;
インポートcom.google.zxing.EncodeHintType;
インポートcom.google.zxing.MultiFormatWriter;
インポートcom.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
インポートcom.google.zxing.common.BitMatrix;
インポートcom.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
パブリッククラスTestZXing {
@SuppressWarnings({"rawtypes"、 "unchecked"})
public static void main(String [] args){
int width = 300;
int height = 300;
String format = "png";
文字列contents = "www.baidu.com";
HashMap map = new HashMap();
map.put(EncodeHintType.CHARACTER_SET、 "utf-8");
map.put(EncodeHintType.ERROR_CORRECTION、ErrorCorrectionLevel.M);
map.put(EncodeHintType.MARGIN、0);
{を試してください
BitMatrix bm = new MultiFormatWriter()。encode(contents、BarcodeFormat.QR_CODE、width、height);
パスfile = new File( "D:/img.png")。toPath();
MatrixToImageWriter.writeToPath(bm、format、file);
} catch(WriterException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
}
}
3.3 TestReadクラスを作成し、QRコードコードを記述して解析し、コードを実行して、テスト結果を出力します
パッケージテスト;
インポートjava.awt.image.BufferedImage;
java.io.Fileをインポートします。
インポートjava.io.IOException;
java.util.HashMapをインポートします。
インポートjavax.imageio.ImageIO;
インポートcom.google.zxing.BinaryBitmap;
インポートcom.google.zxing.EncodeHintType;
インポートcom.google.zxing.MultiFormatReader;
インポートcom.google.zxing.NotFoundException;
インポートcom.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
インポートcom.google.zxing.common.HybridBinarizer;
パブリッククラスTestRead {
@SuppressWarnings({"unchecked"、 "rawtypes"})
public static void main(String [] args){
{を試してください
MultiFormatReader reader = new MultiFormatReader();
ファイルf = new File( "D:/img.png");
BufferedImage image = ImageIO.read(f);
BinaryBitmap bb = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
HashMap map = new HashMap();
map.put(EncodeHintType.CHARACTER_SET、 "utf-8");
結果結果= reader.decode(bb、map);
System.out.println( "分析結果:" + result.toString());
System.out.println( "QRコードフォーマットタイプ:" + result.getBarcodeFormat());
System.out.println( "QRコードテキストコンテンツ:" + result.getText());
} catch(NotFoundException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
}
}