Java制作二维码代码,中间带logo图片,可设置logo大小

Posted ljbguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java制作二维码代码,中间带logo图片,可设置logo大小相关的知识,希望对你有一定的参考价值。

public static int createQRCode(String content, String imgPath,String logo) {  

       try {  

           Qrcode qrcodeHandler = new Qrcode();  

           qrcodeHandler.setQrcodeErrorCorrect(‘M‘);  

           qrcodeHandler.setQrcodeEncodeMode(‘B‘);  

           qrcodeHandler.setQrcodeVersion(7);  

           // System.out.println(content);  

           byte[] contentBytes = content.getBytes("gb2312");  

           //构造一个BufferedImage对象 设置宽、高

           BufferedImage bufImg = new BufferedImage(140, 140, BufferedImage.TYPE_INT_RGB);  

           Graphics2D gs = bufImg.createGraphics();  

           gs.setBackground(Color.WHITE);  

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

           // 设定图像颜色 > BLACK  

           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 ]. ");  

               return -1;

           }  

           Image img = ImageIO.read(new File(logo));//实例化一个Image对象。

           gs.drawImage(img, 44, 55, 49, 30, null);

           gs.dispose();  

           bufImg.flush();  

           // 生成二维码QRCode图片  

           File imgFile = new File(imgPath);  

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

       }catch (Exception e){  

           e.printStackTrace();  

           return -100;

       }  

       return 0;

   }

//加入轮胎天使的logo

createQRCode("http://www.tireangel.com/android/TireAngelDemo.apk","http://www.tireangel.com/images/qrCode.jpg","http://www.tireangel.com/images/logo.jpg");

以上是关于Java制作二维码代码,中间带logo图片,可设置logo大小的主要内容,如果未能解决你的问题,请参考以下文章

Unity怎么制作中心带logo的二维码

如何生成带中间LOGO的二维码?

node生成带logo的二维码的中间件

如何在二维码里添加logo

c# Winform制作一张二维码,扫描这张二维码显示出图片,声明一下,不是使用logo将图片放入二维码中间。

二维码生成器加logo怎么制作