使用Google zxing.EncodeHintType
下載的Jar檔理論上只要下載core(核心就好)
package com.joey.test; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.util.Hashtable; import javax.imageio.ImageIO; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.common.BitMatrix; import com.google.zxing.common.CharacterSetECI; import com.google.zxing.qrcode.QRCodeWriter; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; public class Test { public static void main(String[] args){ BufferedImage buggimg = new BufferedImage(1200, 1200, BufferedImage.TYPE_INT_RGB); //指定寫出的資料夾 可由設定檔設定 位置 File outFule = new File("D:/Qrcode.png"); //建立QRCODE 相關設定。 Hashtablehitmap = new Hashtable (); QRCodeWriter qrwrite = new QRCodeWriter(); hitmap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); //建立圖片的繪版 Graphics2D g2d = buggimg.createGraphics(); g2d.setColor(Color.WHITE); g2d.fillRect(0,0,1200,1200); g2d.setColor(Color.black); try { //取得圖片的 點 的大小 圖片大小設定 1200 1200 px s 圖片 BitMatrix x = qrwrite.encode("yourMassage", BarcodeFormat.QR_CODE, 1200, 1200,hitmap); for(int i =0;i<1200;i++){ for(int j=0;j<1200;j++){ if(x.get(i, j)){ g2d.fillRect(i, j, 1, 1); } } } //寫出圖片.. ImageIO.write(buggimg,"png", outFule); } catch (Exception e) { e.printStackTrace(); }
沒有留言:
張貼留言