java实现二维码

来源:互联网 发布:java final static 编辑:程序博客网 时间:2024/05/22 02:07

    这次用到的jar包是zxing,没有用到core的jar包

    先导入zxing.jar包

   生成二维码

package cn.huse.erweima;import java.io.File;import java.util.HashMap;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;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;/** * 生成二维码 * */public class CreateQRCode {public static void main(String[] args) {int width = 300;int height = 300;String format = "gif";String content = "www.baidu.com";//定义二维码的参数HashMap hints = new HashMap<>();hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);try {BitMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints);File file = new File("e:"+File.separator+"new.gif");MatrixToImageWriter.writeToFile(matrix, format, file);} catch (Exception e) {e.printStackTrace();}}}
解析二维码

package cn.huse.erweima;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.HashMap;import javax.imageio.ImageIO;import com.google.zxing.BinaryBitmap;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatReader;import com.google.zxing.NotFoundException;import com.google.zxing.Result;import com.google.zxing.client.j2se.BufferedImageLuminanceSource;import com.google.zxing.common.HybridBinarizer;//解析二维码public class ReadQRCode {public static void main(String[] args) {MultiFormatReader formatReader = new MultiFormatReader();File file = new File("e:"+File.separator+"new.gif");try {BufferedImage image = ImageIO.read(file);BinaryBitmap binaryBitmap =  new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));HashMap hints = new HashMap<>();hints.put(EncodeHintType.CHARACTER_SET, "utf-8");Result result = formatReader.decode(binaryBitmap,hints);System.out.println(result.toString());System.out.println(result.getBarcodeFormat());System.out.println(result.getText());} catch (NotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}


0 0