Java生成解析一维码二维码
- 一维码
—一般数据容量30个数字/字母
—商品上的一维码由专门机构管理(中国物品编码中心) - 二维码
—能够存储数字、字母、汉字、图片等信息
—字符集128字符
—可存储几百到几十KB字符
—抗损坏
一维码与二维码都有可以引用的包进行生成和解析,一般使用最多的是Google的Zxing,它可以生成和解析很多种码图,还有一个包为Barcode4J(http://barcode4j.sourceforge.net),这是纯Java实现的条形码,但是它只负责生成,不负责解析。
Zxing中主要类
类名 | 功能 |
---|---|
BitMatrix | 位图矩阵 |
MultiFormatWriter | 位图编辑器 |
MatrixToImageWriter | 写入图片 |
一维码生成以及解析
package YiWeiCodeTest;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
public class BarCODETest {
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("1Dcode.png");
generateCode(file,"123483216598818963186318",500,150);
readCode(file)