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 }
以下のように生成した二次元コードの画像です: