java生成二维码测试源码
2016-08-22 16:33
549 查看
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import com.swetake.util.Qrcode;
/**
* 二维码测试类 用到jar包QRcode.jar
* @author colbor
*
*/
public class QrcodeTest {
/**
* 获取内容生成二维码图片
* @param contents
* @param imgPath 生成图片存储服务器地址
* @throws Exception
*/
public static void getQrcodeImgBycontents(String contents,String imgPath){
int width=140;
int height=140;
try{
Qrcode qrcode=new Qrcode();
//设置二维码排错率 可选项L(7%) M(15%)Q(25%)H(30%)
qrcode.setQrcodeErrorCorrect('M');
qrcode.setQrcodeEncodeMode('B');
//设置二维码的尺寸 取值范围(1-40)
qrcode.setQrcodeVersion(7);
//设置图片的尺寸
BufferedImage bufferImge=new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
//绘制二维码图片
Graphics2D gs=bufferImge.createGraphics();
//设置区域背景颜色
gs.setBackground(Color.white);
//创建一个图片矩形区域
gs.clearRect(0, 0, width, height);
//设置二维码颜色
gs.setColor(Color.BLACK);
//设置偏移量(如果不设置)可能会导致解析错误
int pixoff=2;
//获取内容,通过数组形式,设置编码
byte[] contentBytes=contents.getBytes("gb2312");
//输出二维码
if(contentBytes.length>0&&contentBytes.length<120){
boolean[][] codeOut=qrcode.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.out.println("内容长度超出最大限制");
}
gs.dispose();
//刷新图片
bufferImge.flush();
//生成二维码的Qrcode图片
File imgFile=new File(imgPath);
ImageIO.write(bufferImge, "png", imgFile);
System.out.println("生成二维码成功");
}catch(Exception e){
e.getStackTrace();
}
}
public static void main(String[] args) {
String contents="大神王斌就是我,我就是大神王斌";
String imgPath="E:\\wsc.png";
getQrcodeImgBycontents(contents, imgPath);
System.out.println();
}
}
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import com.swetake.util.Qrcode;
/**
* 二维码测试类 用到jar包QRcode.jar
* @author colbor
*
*/
public class QrcodeTest {
/**
* 获取内容生成二维码图片
* @param contents
* @param imgPath 生成图片存储服务器地址
* @throws Exception
*/
public static void getQrcodeImgBycontents(String contents,String imgPath){
int width=140;
int height=140;
try{
Qrcode qrcode=new Qrcode();
//设置二维码排错率 可选项L(7%) M(15%)Q(25%)H(30%)
qrcode.setQrcodeErrorCorrect('M');
qrcode.setQrcodeEncodeMode('B');
//设置二维码的尺寸 取值范围(1-40)
qrcode.setQrcodeVersion(7);
//设置图片的尺寸
BufferedImage bufferImge=new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
//绘制二维码图片
Graphics2D gs=bufferImge.createGraphics();
//设置区域背景颜色
gs.setBackground(Color.white);
//创建一个图片矩形区域
gs.clearRect(0, 0, width, height);
//设置二维码颜色
gs.setColor(Color.BLACK);
//设置偏移量(如果不设置)可能会导致解析错误
int pixoff=2;
//获取内容,通过数组形式,设置编码
byte[] contentBytes=contents.getBytes("gb2312");
//输出二维码
if(contentBytes.length>0&&contentBytes.length<120){
boolean[][] codeOut=qrcode.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.out.println("内容长度超出最大限制");
}
gs.dispose();
//刷新图片
bufferImge.flush();
//生成二维码的Qrcode图片
File imgFile=new File(imgPath);
ImageIO.write(bufferImge, "png", imgFile);
System.out.println("生成二维码成功");
}catch(Exception e){
e.getStackTrace();
}
}
public static void main(String[] args) {
String contents="大神王斌就是我,我就是大神王斌";
String imgPath="E:\\wsc.png";
getQrcodeImgBycontents(contents, imgPath);
System.out.println();
}
}
相关文章推荐
- qrencode二维码生成库函数使用心得(一)(付测试源码)
- Java生成名片式的二维码源码分享
- java 二维码生成与解析代码实现,程序源码下载可用
- 二维码的生成和解码Java实现(未测试)
- Java生成名片式的二维码源码分享
- 根据测试用例的java源码自动生成TestNG的XML文件
- java生成pdf测试源码
- 根据测试用例的java源码自动生成TestNG的XML文件
- Java中使用google.zxing快捷生成二维码(附工具类源码)
- Java生成名片式的二维码源码分享
- Java生成名片式的二维码源码分享
- Java生成读取条形码和二维码图片(未测试)
- Java生成解析二维码源码
- 根据测试用例的java源码自动生成TestNG的XML文件
- myeclipse每次启动都提示注册的解决方案(附带生成注册码的java源码)
- Java导出Highcharts生成的图表为图片源码
- Android 导入android源码有错,R.java文件不能自动生成解决方法
- 性能测试数据生成——java代码实现
- Android及Java使用google.zxing生成和解码(解析)二维码(QRCode)
- 【转】java生成二维码