package qrcode;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* okapibarcode-0.1.2.jar包下载地址:
* https://mvnrepository.com/artifact/uk.org.okapibarcode/okapibarcode
*/
import uk.org.okapibarcode.backend.DataMatrix;
import uk.org.okapibarcode.backend.Symbol;
import uk.org.okapibarcode.output.Java2DRenderer;
public class Test {
public static byte[] createDataMarix(String input) throws IOException {
int magnification = 10;
int barcodeSize = 0 * magnification;
DataMatrix dataMatrix = new DataMatrix();
dataMatrix.setDataType(Symbol.DataType.UTF8);
dataMatrix.setPreferredSize(0);
dataMatrix.forceSquare(true);
dataMatrix.setContent(input);
BufferedImage image = new BufferedImage((dataMatrix.getWidth() * magnification) + (2 * barcodeSize),
(dataMatrix.getHeight() * magnification) + (2 * barcodeSize),
BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = image.createGraphics();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.WHITE);
g2d.fillRect(0, 0, (dataMatrix.getWidth() * magnification) + (2 * barcodeSize), (dataMatrix.getHeight() * magnification) + (2 * barcodeSize));
Java2DRenderer renderer = new Java2DRenderer(g2d, 10, 0, Color.WHITE, Color.BLACK);
renderer.render(dataMatrix);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
return baos.toByteArray();
}
public static void main(String[] args) throws Exception {
String savePath = "D:\\dataMatrix.jpg";
String imgContent = "[)>@06@12S0002@P0621301260132@1P61891161@31P61891161@12VC11017921@10VCHN-SHANGHAI@2P@20P@6D20220622@14D20230622@30PN@ZN@K9230020736@16K029016233004@V702041422@3SS290162330075@Q500NAR000@20T1@1T20220622@2T@1Z@@";
FileOutputStream fileOutputStream = new FileOutputStream(savePath);
fileOutputStream.write(Test.createDataMarix(imgContent));
System.out.println("DataMarix生成成功");
}
}
Java生成DataMarix码
于 2024-03-14 10:16:08 首次发布