二次元コード:2次元コードを生成するJava

1.  導入し、二次元コード

飼料分析:

我々は、現在一般的に、一般的に日常生活で使用されている2次元コードを参照 QRコード

QRコードは、1994年デンソーウェーブ、日本により考案コードシステムにおける2次元コードです。

二次元バーコードが拡張されたバーコードは、別の次元に読み取り可能な意味デバイスが情報を取得するためにスキャンされた後、黒と白の矩形内のパターンは、バイナリデータを表す一次元バーコードに基づいて、その中に含まれます。一次元バー記録されたデータの幅、及びそのデータ長が記載されていません。二次元バーコードの長さは、幅のデータが記録されています。二次元バー次元バーコードではありませんあり、「修正」と「フォールトトレランス。」汚損しているバーコード、バーコードまたはそのすべてへの認識が存在しない場合でも、フォールトトレランス、あなたは正しくバーコードの情報を復元することができます。二次元バーコードを開発するための二次元バーコードの多くの異なる種類の、異なる機関方法を読んで、異なる構造と書き込みがあります。

 

要するに、二次元コードは、特定の原理は記録番組のボックスに応じて、情報の一部を使用することです。

二次元コードは、静的コードやライブコードに分かれています。

静的コードは:テキスト情報のみを取得する固定スキャン認識に携帯電話を使用して、情報を固定されています。

ライブコード:で、保存する URLをにジャンプします電話スキャン認識を使用し、URLを大幅に向上させることができる得られた情報に対応するページやアプリケーション、およびかなりの柔軟性を持っています。だから、ライブコードと呼ばれます。

2.  二次元コード原理

具体的な原則は、こちらを参照してください。 https://www.cnblogs.com/alantu2018/p/8504373.html

3.  Javaは、二次元コード画像を生成します

Javaは、二次元コードの画像のプロジェクトを作り出す一般への直接参照のjar パッケージとすることができます。今、二つの主要なオプションがあり、

一つは、あるQRコード公式サイト(https://www.supershareware.com/qrcode-jar-free/ )ダウンロードQrCode.jar

別のオプションは、バレー(曲ダウンロードすることですhttp://repo1.maven.org/maven2/com/google/zxing/core/ )のZxing.jarを

 

個人的な経験Googleの Zxing.jar よりQrCode.jar 比較的使いやすいが、Zxing.jarは、バーコードなどの機能を解決することができます。したがって、ダウンロードすることをお勧めしZxing.jarの使用を。

 

ここで Javaの単純なアプリケーションコードの二次元画像を生成するには:

 

  1つの インポートjava.io.ByteArrayOutputStreamを。
  2  
  3  インポートjava.io.FileOutputStreamは。
  4  
  5  インポートにjava.io.IOException。
  6  
  7  インポートにjava.io.OutputStream。
  8  
  9  インポートたjava.util.HashMap。
10  
11  インポートjava.util.Map。
12  
13   
14  
15  輸入com.google.zxing.BarcodeFormat。
16  
17  インポートcom.google.zxing.EncodeHintType。
18  
19  インポートcom.google.zxing.MultiFormatWriter。
20 
21  インポートcom.google.zxing.WriterException。
22  
23  インポートcom.google.zxing.client.j2se.MatrixToImageWriter。
24  
25  インポートcom.google.zxing.common.BitMatrix。
26  
27  インポートcom.google.zxing.qrcode.decoder.ErrorCorrectionLevel。
28  
29   
30  
31  / ** 
32  
33  *二维码工具类
 34  
35  * @author limingcheng
 36  
37  *
 38  
39   * / 
40  
41  パブリック クラスQrCodeUtil {
 42 
43は  
44である 
45  / ** 
46は 
47  の二次元コードの画像を生成するために*
 48  
49  * @param 50  
51である * @paramの高さ
 52は 
53である * @paramのコンテンツ
 54は 
55  * @return 
56は 
57である * @throws WriterException
 58  
59  *は@throws IOExceptionが
 60  
61である  * / 
62が 
63である 公共の 静的 バイト [] createQRCode(int型、幅int型の高さ、文字列の内容は)スローWriterExceptionは、IOException {
 64  
65  // 次元コードは、基本的なパラメータ設定
66  
67地図<EncodeHintType、オブジェクト> =ヒント新しい新しいのHashMap <EncodeHintType、オブジェクト> ;()
 68  
69 hints.put(EncodeHintType.CHARACTER_SETを、 "UTF-8"); // 。セットコード化文字セット8 UTF 
70  
71である hints.put(EncodeHintType.ERROR_CORRECTION、ErrorCorrectionLevel.M); // 設定されたエラー訂正レベルL / M / Q / H、誤り訂正レベル高い認識がより困難、現在のレベルは、最高レベルセットHである
72  
73である(EncodeHintType.MARGIN、0)hints.put; //は0~10の範囲で設定することができるが、4つだけの変化01(2)3(456 )7(8910)
 74  
75 //はピクチャタイプがQRコードで生成する
76  
77 BarcodeFormat形式= BarcodeFormat.QR_CODE;
 78  
79  // ビットマップ行列を作成するオブジェクト
80  
81 BitMatrix bitMatrix = 新しい新しいMultiFormatWriter()コード(コンテンツ、フォーマット、幅、高さ、ヒント);.
 82  
83  / / パラメータセットビット行列転置画像
 84  
85  //         MatrixToImageConfig設定=新しい新しいMatrixToImageConfig(Color.black.getRGB()、Color.white.getRGB());
 86  
87  // ビットストリームは、オブジェクトマトリックスオブジェクト
88  
89 ByteArrayOutputStream OS = 新しい新しいByteArrayOutputStream();
 90の 
91 ISMatrixToImageWriter.writeToStream(bitMatrix、 "PNG" 、OS);
92  
93  リターンos.toByteArray()。
94  
95  }
 96  
97   
98  
99  公共 静的 ボイドメイン(文字列[]引数)がスローWriterException、IOExceptionが{
 100  
101  バイト [] B = createQRCode(100、100、 "遇见最好的自己!" )。
102  
103のOutputStream OS = たFileOutputStream( "E:\\ bestme.png" )。
104  
105  os.write(B)。
106  
107  にos.close()。
108  
109  }
110  
111 }

 

 

以下のように生成した二次元コードの画像です:

 

 

おすすめ

転載: www.cnblogs.com/bestlmc/p/11846639.html