package com.charles.qrcode;
import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List;
import com.charles.utils.DistanceUtil; import com.google.zxing.BarcodeFormat; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.encoder.ByteMatrix;
public class CommonTest {
public static void main(String[] args) {
String str = "[美食拼图联盟商户 http://www./m.html][美食会员,一拍即享!]1";// 二维码内容 String path = "/Users/zhangqi/my_doc/TestProject/images/";
BitMatrix byteMatrix; for (int i = 1; i <= 500; i++) { try { String str1 = str + i; byteMatrix = new MultiFormatWriter().encode( // str1.getBytes("UTF-8").toString(), new String(str1.getBytes("UTF-8"), "ISO-8859-1"), // str1, BarcodeFormat.QR_CODE, 652, 652);
File file = new File(path + i + ".png"); MatrixToImageWriter.writeToFile(byteMatrix, "png", file); } catch (IOException e) { e.printStackTrace(); } catch (WriterException e1) { e1.printStackTrace(); } } } } 如果不做编码转换,生成的二维码大数软件识别不了,在此我以:新浪微博的二维码扫描作为标准。
备注:对于cpp版本的zxing,只需要加入iconv模块进行字符编码转换,将默认的gb2312转换到utf-8即可
|