QR code generation helper class [java] package com. dream. qrcodeen; import java. awt. image. bufferedImage; public class TwoDimensionCodeImage {BufferedImage bufImg; public TwoDimensionCodeImage (BufferedImage bufImg) {this. bufImg = bufImg;} public int getHeight () {return bufImg. getHeight ();} public int getPixel (int x, int y) {return bufImg. getRGB (x, y);} public int getWidth () {return bufImg. getWidth () ;}} two-dimensional code generation core class: [j Ava] package com. dream. qrcodeen; import java. awt. color; import java. awt. graphics2D; import java. awt. image. bufferedImage; import java. io. file; import java. io. outputStream; import javax. imageio. imageIO; import com. swetake. util. qrcode; public class TwoDimensionCode {public void encoderQRCode (String content, String imgPath, String imgType) {this. encoderQRCode (content, imgPath, imgType, 7);} public Void encoderQRCode (String content, String imgPath, String imgType, int size) {try {BufferedImage bufImg = this. qRCodeCommon (content, imgType, size); File imgFile = new File (imgPath); ImageIO. write (bufImg, imgType, imgFile);} catch (Exception e) {e. printStackTrace () ;}} public void encoderQRCode (String content, OutputStream output, String imgType, int size) {try {BufferedImage bufImg = this. QRCodeCommon (content, imgType, size); ImageIO. write (bufImg, imgType, output);} catch (Exception e) {e. printStackTrace () ;}} private BufferedImage qRCodeCommon (String content, String imgType, int size) {BufferedImage bufImg = null; try {Qrcode qrcodeHandler = new Qrcode (); qrcodeHandler. setQrcodeErrorCorrect ('M'); qrcodeHandler. setQrcodeEncodeMode ('B'); qrcodeHandler. setQrcodeVersion (size); Te [] contentBytes = content. getBytes ("UTF-8"); int imgSize = 67 + 12 * (size-1); bufImg = new BufferedImage (imgSize, imgSize, BufferedImage. TYPE_INT_RGB); Graphics2D gs = bufImg. createGraphics (); gs. setBackground (Color. WHITE); gs. clearRect (0, 0, imgSize, imgSize); gs. setColor (Color. BLACK); int pixoff = 2; if (contentBytes. length> 0 & contentBytes. length <800) {boolean [] [] codeOut = qrcodeHan Dler. calQrcode (contentBytes); for (int I = 0; I <codeOut. length; I ++) {for (int j = 0; j <codeOut. length; j ++) {if (codeOut [j] [I]) {gs. fillRect (j * 3 + pixoff, I * 3 + pixoff, 3, 3) ;}}} else {throw new Exception ("QRCode content bytes length =" + contentBytes. length + "not in [0,800]. ");} gs. dispose (); bufImg. flush ();} catch (Exception e) {e. printStackTrace ();} return bufImg;} pu Blic static void main (String [] args) {String imgPath = "D:/Michael_QRCode.png"; String encoderContent = "http://www.iding.me /? Val = getplay @ id-100542 @ formid-26 "; TwoDimensionCode handler = new TwoDimensionCode (); handler. encoderQRCode (encoderContent, imgPath," png ");}}