Java zxing 二维码的生成和和解码

发布时间:2019-01-20作者:spider阅读(2330)

Java二维码的解码和编码

    需要用到的Jar包:ZXing-core.jar和ZXing-javase.jar。
     import java.io.File;
    import java.util.Hashtable;
      
    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 QREncoder {
      
        public static void main(String[] args) throws Exception {
            String content = "hello world";
            String encoding = "utf-8";
            int width = 150;
            int height = 150;
            String format = "jpg";
            File imagePath = new File("d:/test.jpg");
              
            com.google.zxing.Writer writer = new MultiFormatWriter();
            Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(2);
            hints.put(EncodeHintType.CHARACTER_SET, encoding);
            BitMatrix matrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints);
            MatrixToImageWriter.writeToFile(matrix, format, imagePath);
        }
      
    }
      
      
      
    import java.io.File;
    import java.util.Hashtable;
      
    import javax.imageio.ImageIO;
      
    import com.google.zxing.Binarizer;
    import com.google.zxing.BinaryBitmap;
    import com.google.zxing.DecodeHintType;
    import com.google.zxing.LuminanceSource;
    import com.google.zxing.MultiFormatReader;
    import com.google.zxing.Reader;
    import com.google.zxing.Result;
    import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
    import com.google.zxing.common.GlobalHistogramBinarizer;
      
    //解码
    public class QRDecoder {
      
        public static void main(String[] args) throws Exception {
            File imagePath = new File("d:/test.jpg");
            String encoding = "utf-8";
              
            Reader reader = new MultiFormatReader();
            LuminanceSource ls = new BufferedImageLuminanceSource(ImageIO.read(imagePath));
            Binarizer b = new GlobalHistogramBinarizer(ls);
            Hashtable<DecodeHintType, String> hint1 = new Hashtable<DecodeHintType, String>(2);
            hint1.put(DecodeHintType.CHARACTER_SET, encoding);
            Result r = reader.decode(new BinaryBitmap(b), hint1);
            System.out.println(r.getText());
        }
      
    }

    文章转载自:http://www.open-open.com/code/view/1430906793866

0 +1

版权声明

本文章为系统自动抓取,如涉及您的版权,请联系博主进行下架处理

 Java  源码

 请文明留言

0 条评论