欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Zxing方式生产二维码方法 博客分类: 技术研究类二维码Java Java二维码Qrcodezxing 

程序员文章站 2024-03-24 17:02:04
...
  1. ackage com.wmsDemo.QRCode;  

    import com.google.zxing.common.BitMatrix;  

        

     import javax.imageio.ImageIO;  

     import java.io.File;  

     import java.io.OutputStream;  

     import java.io.IOException;  

     import java.awt.image.BufferedImage;  

        

        

     public final class MatrixToImageWriter {  

        

       private static final int BLACK = 0xFF000000;  

       private static final int WHITE = 0xFFFFFFFF;  

        

       private MatrixToImageWriter() {}  

        

          

       public static BufferedImage toBufferedImage(BitMatrix matrix) {  

         int width = matrix.getWidth();  

         int height = matrix.getHeight();  

         BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);  

         for (int x = 0; x < width; x++) {  

           for (int y = 0; y < height; y++) {  

             image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);  

           }  

         }  

         return image;  

       }  

        

       public static void writeToFile(BitMatrix matrix, String format, File file)  

           throws IOException {  

         BufferedImage image = toBufferedImage(matrix);  

         if (!ImageIO.write(image, format, file)) {  

           throw new IOException("Could not write an image of format " + format + " to " + file);  

         }  

       }  

        

          

       public static void writeToStream(BitMatrix matrix, String format, OutputStream stream)  

           throws IOException {  

         BufferedImage image = toBufferedImage(matrix);  

         if (!ImageIO.write(image, format, stream)) {  

           throw new IOException("Could not write an image of format " + format);  

         }  

       }  

        

     }

  2.  

    package com.wmsDemo.QRCode;

     

    import java.io.File;

    import java.util.HashMap;

    import java.util.Map;

     

    import com.google.zxing.BarcodeFormat;

    import com.google.zxing.EncodeHintType;

    import com.google.zxing.MultiFormatWriter;

    import com.google.zxing.common.BitMatrix;

       

    public class Test {  

       

        /** 

         * @param args 

         * @throws Exception  

         */ 

        public static void main(String[] args){  

       

    try {

            String content = "这是测试xing二维码生成"; 

    //        String path = "D:/tt";

            String path = "D:/java/apache-tomcat-7.0.47/webapps/wmsDemo/QRCode";

            MultiFormatWriter multiFormatWriter = new MultiFormatWriter();

            Map hints = new HashMap();  

            //内容所使用编码  

            hints.put(EncodeHintType.CHARACTER_SET, "gb2312");  

            BitMatrix bitMatrix = multiFormatWriter.encode(content,BarcodeFormat.QR_CODE, 200, 200, hints);  

            //生成二维码  

            File outputFile = new File(path,"14.jpg"); 

            MatrixToImageWriter.writeToFile(bitMatrix, "jpg", outputFile);  

    } catch (Exception e) {

        e.printStackTrace();

    }

     

        }  

       

    }