java 使用qrcode生成二维码图片或者base64字符串

Posted jamsbwo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 使用qrcode生成二维码图片或者base64字符串相关的知识,希望对你有一定的参考价值。

通过传入字符串,生成二维码图片或者base64格式字符串

 1 public static String barcode2Base64(String msg) throws Exception{
 2         Qrcode x = new Qrcode();
 3         //N代表数字,A代表a-z,B代表其他字符
 4         x.setQrcodeEncodeMode(‘B‘);
 5         //设置纠错等级
 6         x.setQrcodeErrorCorrect(‘M‘);
 7         //设置版本号(1-40)
 8         x.setQrcodeVersion(7);
 9         
10         int width = 67+12*(7-1);
11         int height = 67+12*(7-1);
12         int pixoff = 2;//偏移量
13         
14         BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
15         Graphics2D gs = bufferedImage.createGraphics();
16         gs.setBackground(Color.WHITE);
17         gs.setColor(Color.BLACK);
18         gs.clearRect(0, 0, width, height);
19         
20         byte[] d = msg.getBytes("UTF-8"); 
21         if(d.length>0&&d.length<120){
22             boolean[][] s = x.calQrcode(d);
23             for(int i=0;i<s.length;i++){
24                 for(int j=0;j<s.length;j++){
25                     if(s[j][i]){
26                         gs.fillRect(j*3+pixoff, i*3+pixoff, 3, 3);
27                     }
28                 }
29             }
30         }
31         // 加密
32         gs.dispose();
33         bufferedImage.flush();
34         ByteArrayOutputStream bos = new ByteArrayOutputStream();
35         ImageIO.write(bufferedImage, "bmp", bos);//bos可以是文件输出流,这里写到字节流
36         // 加密
37         BASE64Encoder encoder = new BASE64Encoder();
38         return encoder.encode(bos.toByteArray());
39     }

 

以上是关于java 使用qrcode生成二维码图片或者base64字符串的主要内容,如果未能解决你的问题,请参考以下文章

Java简单的生成/解析二维码(zxing qrcode)

Java简单的生成/解析二维码(zxing qrcode)

vue+Qrcode实现动态生成二维码(图片格式,点击下载可保存本地)

为啥我用phprqcode 生成二维码带logo的时候,就无法读取信息

我用qrcode生成二维码,字节20个,但是打印出来的二维码只有9mm长宽,那么参数该如何设置?

jquery.qrcode.js生成二维码,只能生成table和canvas两种格式的,我想要生成一个图片格式(比如jpg)怎么做