读书人

初学者有关问题,java写二维码生成器

发布时间: 2012-11-05 09:35:12 作者: rapoo

菜鸟问题,java写二维码生成器
用java写个二维码生成器用多久能写完,有大侠给点代码或流程图之类的参考资料么?急代码一定要有中文注释啊,没注释我看不懂.

[解决办法]
分给我吧
[解决办法]
http://marshal.easymorse.com/archives/2791

看下这个……
[解决办法]
http://www.javaeye.com/topic/368812
[解决办法]
用zxing的话,几分钟就搞定了。

写二维码的代码:
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;

public class QREncoder
{
public static void main(String[] args)
{
String content = "酒至颜自解,声和心亦宣。";
Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
BitMatrix matrix = null;
try
{
MultiFormatWriter writer = new MultiFormatWriter();
matrix = writer.encode(content, BarcodeFormat.QR_CODE, 300, 300, hints);
}
catch (WriterException e)
{
e.printStackTrace();
}

File file = new File("D:/qrimage.png");
try
{
MatrixToImageWriter.writeToFile(matrix, "png", file);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}

读二维码的代码:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;

import javax.imageio.ImageIO;

import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;

public class QRDecoder
{
public static void main(String[] args)
{
File file = new File("D:/qrimage.png");
BufferedImage bufferedImage = null;

try
{
bufferedImage = ImageIO.read(file);
}
catch (IOException e)
{
e.printStackTrace();
}

LuminanceSource source = new BufferedImageLuminanceSource(bufferedImage);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));

Hashtable<DecodeHintType, String> hints = new Hashtable<DecodeHintType, String>();
hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
Result result = null;

try
{
result = new MultiFormatReader().decode(bitmap, hints);
}
catch (NotFoundException e)
{
e.printStackTrace();
}

System.out.println(result.toString());
}
}

读书人网 >J2SE开发

热点推荐