zoukankan      html  css  js  c++  java
  • 生成二维码

    package com.wangku.was.qe;
    
    import java.awt.image.BufferedImage;  
    import java.io.File;  
    import java.io.IOException;  
    import java.nio.file.FileSystems;  
    import java.nio.file.Path;  
    import java.util.HashMap;  
    import java.util.Map;  
      
    import javax.imageio.ImageIO;  
      
    import org.junit.Test;  
      
    import com.alibaba.fastjson.JSONObject;  
    import com.google.zxing.BarcodeFormat;  
    import com.google.zxing.Binarizer;  
    import com.google.zxing.BinaryBitmap;  
    import com.google.zxing.DecodeHintType;  
    import com.google.zxing.EncodeHintType;  
    import com.google.zxing.LuminanceSource;  
    import com.google.zxing.MultiFormatReader;  
    import com.google.zxing.MultiFormatWriter;  
    import com.google.zxing.NotFoundException;  
    import com.google.zxing.Result;  
    import com.google.zxing.WriterException;  
    import com.google.zxing.client.j2se.BufferedImageLuminanceSource;  
    import com.google.zxing.client.j2se.MatrixToImageWriter;  
    import com.google.zxing.common.BitMatrix;  
    import com.google.zxing.common.HybridBinarizer;
    /**
     * @ClassName: QRCodeTest  
     * @author zhangmeijie 
     * @date 2015-6-19 下午1:43:05
     * @exception
     * @since 1.0
     */
    public class QRCodeTest {
    	/** 
         * 生成图像 
         *  
         * @throws WriterException 
         * @throws IOException 
         */  
        @Test  
        public void testEncode() throws WriterException, IOException {  
            String filePath = "F://";  
            String fileName = "zxing.png";  
            JSONObject json = new JSONObject();  
    //        json.put(  
    //                "zxing",  
    //                "http://kesun-shy.iteye.com/blog/2154169");  
    //        json.put("author", "shihy");  
    //        String content = json.toJSONString();// 内容  
            String content = "http://kesun-shy.iteye.com/blog/2154169";
            int width = 200; // 图像宽度  
            int height = 200; // 图像高度  
            String format = "png";// 图像类型  
            Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();  
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");  
            BitMatrix bitMatrix = new MultiFormatWriter().encode(content,  
                    BarcodeFormat.QR_CODE, width, height, hints);// 生成矩阵  
            Path path = FileSystems.getDefault().getPath(filePath, fileName);  
            MatrixToImageWriter.writeToPath(bitMatrix, format, path);// 输出图像  
            System.out.println("输出成功.");  
        }  
      
        /** 
         * 解析图像 
         */  
        @Test  
        public void testDecode() {  
            String filePath = "F://zxing.png";  
            BufferedImage image;  
            try {  
                image = ImageIO.read(new File(filePath));  
                LuminanceSource source = new BufferedImageLuminanceSource(image);  
                Binarizer binarizer = new HybridBinarizer(source);  
                BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);  
                Map<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object>();  
                hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");  
                Result result = new MultiFormatReader().decode(binaryBitmap, hints);// 对图像进行解码  
                System.out.println(result.getText());
    //            JSONObject content = JSONObject.parseObject(result.getText());  
    //            System.out.println("图片中内容:  ");  
    //            System.out.println("author: " + content.getString("author"));  
    //            System.out.println("zxing:  " + content.getString("zxing"));  
    //            System.out.println("图片中格式:  ");  
    //            System.out.println("encode: " + result.getBarcodeFormat());  
            } catch (IOException e) {  
                e.printStackTrace();  
            } catch (NotFoundException e) {  
                e.printStackTrace();  
            }  
        }  
    }  
     
    
  • 相关阅读:
    Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用
    Linkerd 2.10(Step by Step)—多集群通信
    Linkerd 2.10(Step by Step)—使用 Kustomize 自定义 Linkerd 的配置
    Linkerd 2.10(Step by Step)—控制平面调试端点
    Linkerd 2.10(Step by Step)—配置超时
    Linkerd 2.10(Step by Step)—配置重试
    Linkerd 2.10(Step by Step)—配置代理并发
    本地正常运行,线上环境诡异异常原因集合
    Need to invoke method 'xxx' declared on target class 'yyy', but not found in any interface(s) of the exposed proxy type
    alpine 安装常用命令
  • 原文地址:https://www.cnblogs.com/mjzhang/p/4710577.html
Copyright © 2011-2022 走看看