• 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());
        }
      
    }
  • 相关阅读:
    Mybatis学习(2)原始dao开发和使用mapper接口代理开发
    Mybatis学习(1)
    Leetcode | Merge Intervals
    GDB打印STL容器内容
    LeetCode | Max Points on a Line
    最长不减子序列【转】
    LeetCode | Evaluate Reverse Polish Notation
    LeetCode | Word Ladder II
    LeetCode | Valid Number
    LeetCode | Set Matrix Zeroes
  • 原文地址:https://www.cnblogs.com/shihaiming/p/7048291.html
Copyright © 2020-2023  润新知