使用 Google Zxing 二維碼生成與解析java
ZXing是一個開放源碼的,用Java實現的多種格式的1D/2D條碼圖像處理庫,它包含了聯繫到其餘語言的端口。Zxing能夠實現使用手機的內置的攝像頭完成條形碼的掃描及解碼。google
import java.io.File; import java.io.FileInputStream; import java.util.HashMap; import java.util.Map; 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; public class QRCodeUtils { public static void main(String[] args) { File file = new File("d://qrcode.png"); FileInputStream fis = null; try { String url = "https://www.baidu.com"; int width = 200; // 圖像寬度 int height = 200; // 圖像高度 String format = "png";// 圖像類型 Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); hints.put(EncodeHintType.MARGIN, 0); BitMatrix bitMatrix; bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, width, height, hints); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } if (!file.exists()) { file.createNewFile(); } else { file.delete(); file.createNewFile(); } MatrixToImageWriter.writeToFile(bitMatrix, format, file); fis = new FileInputStream(file); } catch (Exception e) { // TODO: handle exception }finally{ try { fis.close(); } catch (Exception e) { } } } }