zoukankan      html  css  js  c++  java
  • Java二维码的解码和编码

    原文:http://www.open-open.com/code/view/1430906793866

    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());
        }
      
    }
  • 相关阅读:
    CSS未知宽高元素水平垂直居中
    CSS(二)
    CSS(一)
    菜鸟学JS&JQuery(随笔二——jQuery提供的选择器、修改一个标签中的内容、操作标签的类属性)
    菜鸟学JS&JQuery(随笔一)
    webpack loader的加载顺序(从右向左,从下向上)
    padStart()方法,padEnd()方法
    说说 Vue.js 中的 v-cloak 指令
    用阿里云 DNS SDK 实现动态域名解析
    使用阿里云 dns sdk 解决电信公网ip自动变化问题;自己动手实现ddns
  • 原文地址:https://www.cnblogs.com/shihaiming/p/7048291.html
Copyright © 2011-2022 走看看