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

摘要:
通过传入字符串,生成二维码图片或者base64格式字符串1publicstaticStringbarcode2Base64(Stringmsg)throwsException{2Qrcodex=newQrcode();3//N代表数字,A代表a-z,B代表其他字符4x.setQrcodeEncodeMode('B');5//设置纠错等级6x.setQrcodeErrorCorrect('M');7

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

1 public static String barcode2Base64(String msg) throwsException{
2         Qrcode x = newQrcode();
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 = newBufferedImage(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 = newByteArrayOutputStream();
35         ImageIO.write(bufferedImage, "bmp", bos);//bos可以是文件输出流,这里写到字节流
36         //加密
37         BASE64Encoder encoder = newBASE64Encoder();
38         returnencoder.encode(bos.toByteArray());
39     }

免责声明:文章转载自《java 使用qrcode生成二维码图片或者base64字符串》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php抽象类和接口[原] OpenGL ES 学习笔记 (一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VMWare Esxi 6.5(实际为5.x,6.x)时区问题

Esxi不支持修改时区,但是可以使用ESX或者Centos 6/7的localtime文件进行替换以实现时区修改,问题是,重启后文件会被还原。 详细的纠结过程就不说了,终级解决方案如下(给公司写的,现分享出来): 大概思路是:将centos 6中/usr/share/zoneinfo/Asia/Shanghai文件(如果是它国时区,请自行替换base64内...

IOS开发---菜鸟学习之路--(十六)-将Image转换为Base64

我们直接在.m文件的引用头文件部分 和 @interface   AddPictureViewController ()  之间  加入 增加部分的代码 然后就可以使用图片转Base64了 #import "AddPictureViewController.h" #import <QuartzCore/QuartzCore.h> #import...

对JSON传递图片Base64编码的一点总结

项目中跟Java对接的时候需要传输图片,经过Base64编码后传输的。 但是实际调试的时候发现Java那边始终无法正常解析出图片。 冷静想想之后,发现问题在于使用OpenCV读取图片,编码的是Mat::data,图片的纯数据,并非包含完整图片格式头的数据。 需要进行如下操作: Mat faceMat =imread(signlogList[i].snaps...

C# 处理base64 以及base64的原理分析

u  博客园 首页 新随笔 联系 订阅 管理 随笔 - 2009  文章 - 1  评论 - 74 C# 处理base64 以及base64的原理分析  base64的原理, http://www.cnblogs.com/diligenceday/p/6002382.html http://www.cnblogs.com/chengxi...

FlexCell图片显示问题

1、  在FlexCell设计器中,添加图片,导出xml 可以看到  图片不大于20k显示:(20KB为不准确的数字)     图1 图片大于20k显示:(20KB为不准确的数字) 图2 图片转换为一串字符串,是Base64编码格式的 2、  所以flexcell图片显示问题思路是: 1)上传图片同时,转换为以base64编码格式的字符串; 显示时,按1...

在vue项目中引入Base64

安装:npm install --save js-base64 在组件中直接引入let Base64 = require('js-base64').Base64; 使用: Base64.decode('dsdsdSd'); Base64.decode('3232131'); Base64.encode('6545hgdfg'); Base64.enc...