java实现二维码-使用QR Code方式生成和解析二维码
来源:互联网 发布:阿里云干什么的 编辑:程序博客网 时间:2024/06/08 09:18
1、下载压缩包:
生成:http://www.swetake.com/qrcode/index-e.jtml
读取:https://osdn.jp/projects/qrcode/
2、创建项目,将两个解压后的文件夹里的lib下的jar包都放在项目中。
3、创建类。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//生成二维码
public class CreateQRCode {
public static void main(String[] args) {
Qrcode x=new Qrcode();
x.setQrcodeErrorCorrect('M');//纠错等级
x.setQrcodeEncodeMode('B');//N代表数字,A表示a-Z,B表示其他字符(中文等)
x.setQrcodeVersion(7);//版本号
String qrData = "http://www.swetake.com/qrcode";
int width = 67+12*(7-1);
int height = 67+12*(7-1);
BufferedImage bufferedImage = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);//创建缓冲区的图片
Graphics2D gs = bufferedImage.createGraphics();
gs.setBackground(Color.white);
gs.setColor(Color.black);
gs.clearRect(0, 0, width, height);
int pixoff = 2;//偏移量
//填充画板 内容
byte[] d;
try {
d = qrData.getBytes("utf-8");
if (d.length>0 && d.length <120){
boolean[][] s = x.calQrcode(d); //填充内容转化成字节数进行填充
for (int i=0;i<s.length;i++){
for (int j=0;j<s.length;j++){
if (s[j][i]) {
gs.fillRect(j*3+pixoff,i*3+pixoff,3,3);
}
}
}
}
gs.dispose();
bufferedImage.flush();
ImageIO.write(bufferedImage, "png", new File("D:/code/qrcode.png"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//创建实现接口的类,方便在生成二维码的类中调用
public class QRCodeImage implements jp.sourceforge.qrcode.data.QRCodeImage {
BufferedImage bufferedImage;
public QRCodeImage(BufferedImage bufferedImage) {
this.bufferedImage = bufferedImage;
}
@Override
public int getHeight() {
return bufferedImage.getHeight();
}
@Override
public int getPixel(int arg0, int arg1) {
return bufferedImage.getRGB(arg0, arg1);
}
@Override
public int getWidth() {
return bufferedImage.getWidth();
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------//读取二维码
public class ReadQRCode {
public static void main(String[] args) throws Exception {
File file = new File("D:/code/qrcode.png");
BufferedImage bufferedImage = ImageIO.read(file);
QRCodeDecoder codeDecoder = new QRCodeDecoder();
String result = new String(codeDecoder.decode(new QRCodeImage(bufferedImage)),"gb2312");
System.out.println(result);
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0 0
- java实现二维码-使用QR Code方式生成和解析二维码
- 使用PHP QR Code生成二维码
- 【转】使用ZXing生成二维码 QR-Code
- 使用PHP QR Code生成二维码
- 使用PHP QR Code生成二维码
- 使用PHP QR Code生成二维码
- 使用PHP QR Code生成二维码
- 使用PHP QR Code生成二维码
- 使用PHP QR Code生成二维码
- 使用PHP QR Code生成二维码
- 使用zxing生成与解析qr二维码
- PHP QR Code生成二维码
- HP QR Code 生成二维码
- PHP QR Code 生成二维码
- PHP QR Code生成二维码
- PHP QR Code生成二维码
- 叙述二维码的原理以及如何使用google api和PHP QR Code来生成二维码
- 阐述二维码的原理以及使用google api和PHP QR Code来生成二维码
- route命令
- c# 委托 和 事件 的区别
- cmd使用mysql客户端
- 关于datagrid合并单元格的问题
- iOS6、7、8、9、10主要新特性和注意点
- java实现二维码-使用QR Code方式生成和解析二维码
- Apache配置
- 洛谷 P3047 [USACO12FEB]附近的牛Nearby Cows
- @dynamic与@synthesize的区别
- tomcate启动时jar包冲突。wlfullClient.jar 冲突
- mvc 表单提交跳转界面
- hash join hint
- Nginx基本入门
- Bootstrap<段落>