QRCode生成二维码
来源:互联网 发布:淘宝手机首页素材 编辑:程序博客网 时间:2024/06/07 16:48
/* * 生成二维码(QRCode)图片
* @param content
* @param imgPath */
public static String encoderQRCode(String content) {
String imgPath="E:\\QRCodeTest\\"+DateUtil.getStrTime()+".png";
try {
Qrcode qrcodeHandler = new Qrcode();
qrcodeHandler.setQrcodeErrorCorrect('M');
qrcodeHandler.setQrcodeEncodeMode('B');
qrcodeHandler.setQrcodeVersion(7);
System.out.println(content);
//byte[] contentBytes = content.getBytes("gb2312");
byte[] contentBytes = content.getBytes("utf-8");
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 ]. ");
}
gs.dispose();
bufImg.flush();
File imgFile = new File(imgPath);
// 生成二维码QRCode图片
ImageIO.write(bufImg, "jpg", imgFile);
} catch (Exception e) {
e.printStackTrace();
}
return imgPath;
}
* @param content
* @param imgPath */
public static String encoderQRCode(String content) {
String imgPath="E:\\QRCodeTest\\"+DateUtil.getStrTime()+".png";
try {
Qrcode qrcodeHandler = new Qrcode();
qrcodeHandler.setQrcodeErrorCorrect('M');
qrcodeHandler.setQrcodeEncodeMode('B');
qrcodeHandler.setQrcodeVersion(7);
System.out.println(content);
//byte[] contentBytes = content.getBytes("gb2312");
byte[] contentBytes = content.getBytes("utf-8");
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 ]. ");
}
gs.dispose();
bufImg.flush();
File imgFile = new File(imgPath);
// 生成二维码QRCode图片
ImageIO.write(bufImg, "jpg", imgFile);
} catch (Exception e) {
e.printStackTrace();
}
return imgPath;
}
0 0
- qrcode生成,二维码生成
- QRcode php生成二维码
- qrcode二维码生成/解析
- query-qrcode生成二维码
- 使用QRCode生成二维码
- jquery.qrcode生成二维码
- 利用QRCode生成二维码
- QRcode生成二维码
- 利用QRCode生成二维码
- 利用QrCode生成二维码
- QRCode生成二维码
- java生成二维码QRCode
- STM32+QRCode二维码生成
- MSP430+QRCode二维码生成
- Qrcode生成二维码
- QRcode生成二维码
- 使用QRCode生成二维码
- jquery.qrcode生成二维码
- 编程细节之 session命名 和 dispartcher与redirect选择
- 智能电网配网传输: 工业以太网交换机还是EPON?
- 正确使用 Android 性能分析工具——TraceView
- javascript写一个定时器
- php表单中汉字被过滤,无法上传mysql数据库
- QRCode生成二维码
- 解决Ubuntu中文显示为乱码
- Linux性能优化和监控系列(三) 分析Memory使用状况
- symfony的查询总结
- Canvas.rotate、save以及restore问题
- 再论最小二乘
- ZooKeeper系列之七:ZooKeeper命令行工具
- Unity获取摄像机的视口区域
- Mybatis中parameterType和parameterMap的区别