使用 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) { } } } }