菜鸟问题,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());
}
}