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());
        }
      
    }
  • 相关阅读:
    MySQL的max()函数使用时遇到的小问题
    scp命令需要指定端口时要紧跟在scp后
    linux系统之间基于密钥对免输入密码登陆
    c++的引用用法
    预测模型
    mysql出现ERROR 1366 (HY000):的解决办法
    R语言可视化--颜色
    R语言可视化--ggplot函数
    R语言可视化--qplot函数
    R语言可视化二
  • 原文地址:https://www.cnblogs.com/shihaiming/p/7048291.html
Copyright © 2011-2022 走看看