您的位置:首页 > 编程语言 > Java开发

Java二维码编写

2015-09-10 10:07 567 查看
public class QRCodeEncoderHandler {  

  

    public void encoderQRCode(String content, String imgPath) {  

  

        try {  

  

            Qrcode qrcodeHandler = new Qrcode();  

            qrcodeHandler.setQrcodeErrorCorrect('M');  

            qrcodeHandler.setQrcodeEncodeMode('B');  

            qrcodeHandler.setQrcodeVersion(7);  

            System.out.println(content);  

            byte[] contentBytes = content.getBytes("UTF-8");  

            BufferedImage bufImg = new BufferedImage(140, 140,  

            BufferedImage.TYPE_INT_RGB);  

            Graphics2D gs = bufImg.createGraphics();  

            gs.setBackground(Color.WHITE);  

            gs.clearRect(0, 0, 140, 140);  

            gs.setColor(Color.BLACK);  

            int pixoff = 2;// 设置偏移量 不设置可能导致解析出错  

            // 输出内容> 二维码  

            if (contentBytes.length > 0 && contentBytes.length < 120) {  

                boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);  

                for (int i = 0; i < codeOut.length; i++) {  

                    for (int j = 0; j < codeOut.length; j++) {  

                        if (codeOut[j][i]) {  

                            gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);  

                        }  

                    }  

                }  

            } else {  

                System.err.println("QRCode content bytes length = "  

                + contentBytes.length + " not in [ 0,120 ]. ");  

            }  

            gs.dispose();  

            bufImg.flush();  

            File imgFile = new File(imgPath);  

            // 生成二维码QRCode图片  

            ImageIO.write(bufImg, "png", imgFile);  

              

        } catch (Exception e) {  

            e.printStackTrace();  

        }  

    }  

    public static void main(String[] args) {  

          

        String imgPath = "D:/QRCode.png";  

        String content = "熊佳佳的技术博客  http://xiongjiajia.iteye.com/";  

        QRCodeEncoderHandler handler = new QRCodeEncoderHandler();  

        handler.encoderQRCode(content, imgPath);  

        System.out.println("encoder QRcode success");  

    }  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: