JavaはQRコードの生成と分析コードを実現します

1zxingの紹介

2次元コードの生成と分析。多くの方法があります。zxingを使用することを選択します。ZXingは、Javaで実装された複数の形式のオープンソースの1D / 2Dバーコード画像処理ライブラリであり、他の言語に接続するためのポートが含まれています。Zxingは、携帯電話の内蔵カメラを使用して、バーコードをスキャンおよびデコードできます。

2zxingダウンロード

Jarダウンロードパス:

https://codeload.github.com/zxing/zxing/zip/master

参考までに、JavaでQRコードを生成および解析するためのコードを整理します

3プロジェクトでのアプリケーション

3.1最初にプロジェクトにzxingjarを導入します

参考までに、JavaでQRコードを生成および解析するためのコードを整理します

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();

}

}

}

参考までに、JavaでQRコードを生成および解析するためのコードを整理します

おすすめ

転載: blog.csdn.net/keepfriend/article/details/113654591