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 主键
    详解 hibernate 悲观锁 乐观锁 深入分析 代码实例
    Mysql 如何 删除大表
    JSP 不能用 不支持 STRUTS标签 报错 The Struts dispatcher cannot be found.
    struts2 防止重复提交 实例代码
    ECLIPSE MYECLIPSE 在线安装SVN
    powerdesigner中给一主键设为自增型auto_increment
    GDAL计算栅格图像统计值相关说明
    GDAL使用DEM数据计算坡度坡向
    到底什么是I/O Port,什么是Memorymapped I/O
  • 原文地址:https://www.cnblogs.com/shihaiming/p/7048291.html
Copyright © 2011-2022 走看看