50,523
社区成员
发帖
与我相关
我的任务
分享
package Zxing;
import java.io.File;
import java.net.URLEncoder;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.datamatrix.DataMatrixWriter;
/**
* DataMatrix二维码编码
* @author 王昂
*/
class DataMatrixEncoder{
public void DataMatrixEncoder() throws Exception{
try {
String content="你好,Zxing!";
String imagePath = "D:\\code.png";
File file = new File(imagePath);
content = new String(content.getBytes("utf-8"),"iso-8859-1");
DataMatrixWriter writerDM = new DataMatrixWriter();
BitMatrix matrixDM = writerDM.encode(content, BarcodeFormat.DATA_MATRIX , 300 , 300);
MatrixToImageWriter.writeToPath(matrixDM, "png", file.toPath());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String [] args){
try {
DataMatrixEncoder DataMatrixencode = new DataMatrixEncoder();
DataMatrixencode.DataMatrixEncoder();
System.out.println("生成成功");
} catch (Exception e) {
e.printStackTrace();
}
}
}
package Zxing;
import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URLDecoder;
import javax.imageio.ImageIO;
import com.google.zxing.Binarizer;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.LuminanceSource;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.datamatrix.DataMatrixReader;
/**
* DataMatrix二维码解码
* @author 王昂
*/
class DataMatrixDecoder{
String text;
DataMatrixDecoder(){
try {
String imagePath = "D:\\code.png";
File file = new File(imagePath);
DataMatrixReader reader = new DataMatrixReader();
BufferedImage image = ImageIO.read(file);
LuminanceSource source = new BufferedImageLuminanceSource(image);
Binarizer binarizer = new HybridBinarizer(source);
BinaryBitmap imageBinaryBitmap = new BinaryBitmap(binarizer);
Result result = reader.decode(imageBinaryBitmap);
text = new String(URLDecoder.decode(result.getText(), "utf-8").getBytes("iso-8859-1"),"UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String [] args){
try {
DataMatrixDecoder DataMatrixdecode = new DataMatrixDecoder();
System.out.println("解析成功");
System.out.println("内容为:" + DataMatrixdecode.text);
} catch (Exception e) {
e.printStackTrace();
}
}
}