1.SwetakeQRCodeを使用してJavaプロジェクトでQRコードを生成します
http://swetake.com/qr/アドレスをダウンロードします
またはhttp://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zipこれは日本によって書かれており、一般的に使用する四角QRコードを生成します。
中国語で使用できます
例:5677777ghjjjjjj
友人がこの画像によって生成されたコードについて私に尋ねました。私はオンラインで検索し、クラスを整理しました。まず、プロジェクトコンピレーションパスにswetakeqrcode jarパッケージqrcode.jarを配置する必要があります。このパッケージのダウンロードアドレスは、http://www.swetake.com/qrcode/java/qr_java.html上記の上記の公式のswetakeqrcodeです。以下はテストクラスです
com.swetake.util.qrcode;インポートjavax.imageio.imageio;インポートjava.awt。*;インポートjava.awt.image.bufferedimage; import java.io.ioexception; Import java.io.io.io.unsuptedencodinexception; *日付:10/9/13 *時間:11:31 am */public class qrcodetest {private static int default_width; private static int unit_width = 10; public static void main(string args [])throws exception {createimg(); } public static void createimg(){qrcode qrcode = new qrcode(); //エラー修正容量// Lレベルの7%を修正できる// Mレベルの15%を修正できます// QRコードの25%を修正できます// Hレベルの30%を修正できます// QRコードにはフォールトトレランスがあります。 QRコードグラフィックが破損している場合でも、マシンで読み取ることができ、損傷したエリアの最大7%から30%になる可能性があります。 //比較的言えば、エラートレランスレートが高いほど、QRコードグラフィックス領域が大きくなります。したがって、一般的な妥協点は15%のフォールトトレランスを使用します。 qrcode.setqrcodeerrorcorrect( 'm');/ * l '、' m '、' q '、' h ' */ qrcode.setqrcodeencodemode(' b ');/ * "n"、 "a"または "a"または "a"または "a"または "a"または " byte [] buff = null; try {buff = testString.getBytes( "utf-8"); } catch(unsupportedencodingexception e){e.printstacktrace(); } boolean [] [] brect = qrcode.calqrcode(buff); default_width = brect.length * unit_width; bufferedimage bi = new bufferedimage(default_width、default_width、bufferedimage.type_int_rgb); // int unitwidth = default_width/ brect.length; // creategraphics graphics2d g = bi.creategraphics(); G.ClearRect(0、0、default_width、default_width); g.setcolor(color.black); if(buff.length> 0 && buff.length <123){for(int i = 0; i <brect.length; i ++){for(int j = 0; j <brect.length; j ++){if(brect [j]){g.fillrect(j*unit_width、i*unit_width、unit_width-1; }}}} g.dispose(); bi.flush(); string filepath = "qrcode.png";ファイルf = new file(filepath); try {imageio.write(bi、 "png"、f); } catch(ioexception e){e.printstacktrace(); } system.out.println( "qrcode finentを作成!"); }}コードについて説明させてください、私は残りについては話しません。主に、QRcodeを全体像を埋める方法についてお話します。最初にunit_width = 10またはその他の値を定義し、次に画像がどれだけ大きいべきかを計算します。その後、写真は全体像を埋めます。ただし、見栄えの良い場合は、画像のサイズを制御できるため、画像の長さと幅であるDefault_Widthを定義し、Unit_Widthを計算することもできます。ただし、この方法で計算されたユニットは十分に分割されていない可能性があるため、写真はあまり快適に見えません。これらは大きな問題ではありません。調整するだけです。 Brect.lengthのサイズは、文字列の長さではなく、qrcode.setqrcodeversion(3)の値によって決定されます。
次のZxingは、そのようなQRcodeを生成することもできます。
2. barcode4jを使用して、barcodeとqrコードを生成します
barcode4j url:http://sourceforge.net/projects/barcode4j/
barcode4jは、QRアルゴリズムをサポートするDataMatrixを使用したQRコード生成アルゴリズムです。
Datamatrixはヨーロッパと米国の標準であり、QRは日本では標準です。
barcode4jは一般に長方形として生成されます。
例:88777ALEC000YAN
この記事は非常に明確に書かれています、それを参照してください
//www.vevb.com/article/90048.htm
3.Zxing
zxingこれはGoogleからです。アドレスをダウンロードしてください
http://code.google.com/p/zxing/downloads/list
import java.io.File;import java.util.Hashtable;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.common.bitmatrix;インポートcom.google.zxing.qrcode.qrcodewriter; public class qrcodeevents {public static void main(string [] args)throws exception {string text = "hello"; int width = 100; int height = 100; string format = "png";ハッシュテーブルヒント= new Hashtable(); hints.put(encodehinttype.character_set、 "utf-8"); BitMatrix BitMatrix = new MultiformatWriter()。encode(text、barcodeformat.qr_code、width、height、hints); file outputFile = new file( "new.png"); matrixtoImageWriter.writeTofile(bitmatrix、format、outputfile); }}上記は、JavaでQRコードを生成するためのツールの情報の編集です。今後も関連情報を追加し続けます。このサイトへのご支援ありがとうございます!