用java实现在微信里面生成带二维码的海报

想必很多微信公众号开发的,会有一项功能就是微信的海报宣传,就是把你的推广二维码跟宣传海报一起生成,然后显示在微信栏中,就比如这个功能一样。用java实现在微信里面生成带二维码的海报_第1张图片

如果是专职做微信开发的话,那肯定是小事一桩,但是我都没有接触过这方面的,又被项目催的紧简直了。

好了废话不多说了,先说下思路流程。

一、内容解析

二维码是每个人不一样的,而背景图是每一个宣传海报都是一样的,那么我们要做的就是在点击生成推广链接的时候,将海报上面放置二维码的地方做一下更改,就是只需要每次请求替换二维码就可以了。

二、如何生成二维码

因为我开发是用的java语言,所以我讲的就是如何通过java来实现二维码了

qrcode类,引入这个jar包

private BufferedImage qRCodeCommon(String content, String  imgType, int size) {

 Qrcode qrcode = new Qrcode();

qrcode.setQrcodeErrorCorrect('M');  // 纠错级别(L 7%、M 15%、Q 25%、H 30%)和版本有关qrcode.setQrcodeEncodeMode('B');

qrcode.setQrcodeVersion(7);     // 设置Qrcode包的版本

BufferedImage bi  = null;
     
try {
byte[] d = content.getBytes("GBK");
bi = new BufferedImage(139, 139, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bi.createGraphics();
g.setBackground(Color.WHITE);   // 设置背景颜色(白色)
g.clearRect(0, 0, 139, 139);    // 矩形 X、Y、width、height
g.setColor(Color.BLACK);    // 设置图像颜色(黑色)
if (d.length > 0 && d.length < 123) {
    boolean[][] b = qrcode.calQrcode(d);
      for (int i = 0; i < b.length; i++) {
      for (int j = 0; j < b.length; j++) {
      if (b[j][i]) {
      g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);
      }
      }
      }
      }
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 字符集
      return bi;

    }

}

String content = "我要生成的内容";
  try {
            BufferedImage bufImg = 类.qRCodeCommon(content, "png", 14);

            //指定要生成的图片路径

                    File file =new File("D:/ico.jpg");

            // 生成二维码QRCode图片
            ImageIO.write(bufImg, "ipg",file);
        } catch (Exception e) {
            e.printStackTrace();

        }

然后执行就能在你指定位置生成一个二维码了。

你可能感兴趣的:(java微信开发)