//这里要用到ZXing.jar包(谷歌) 另一种方式是QRCode.jar(小日本开发的)
package XZing;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Hashtable;
import qrcode.MatrixToImageWriter;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
public class xzing_twoCode {
/**
* content:生成二维码内容
* depositPath:存放路径
* x,y:大小 imgName:生成二维码名称
* format:二维码格式
* 2014年8月18日
* author:zhousw
*/
public String receiveTwoCode(String content,String depositPath,int x,int y,String imgName,String format){
try {
Hashtable hints = new Hashtable();
BitMatrix bitMatrix;
//内容所使用编码
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE,x, y,hints);
//生成二维码
File file = new File(depositPath + imgName+"."+format);
MatrixToImageWriter.writeToFile(bitMatrix, format, file);
} catch (UnsupportedEncodingException e) {
return "error";
}catch (WriterException e) {
return "error";
}catch (IOException e) {
return "error";
}
return "success";
}
}package XZing.Test;
import XZing.xzing_twoCode;
public class twoCodeTest {
public static void main(String[] args) {
xzing_twoCode code = new xzing_twoCode();
String result = code.receiveTwoCode("中华人民共和国万岁!", "F:/STSworkSpace/TwoDCode/src/META-INF/imges/", 300, 300,"man","png");
if (result == "success") {
System.out.println("二维码已生成");
}else{
System.out.println("二维码生成失败");
}
}
}