gpt4 book ai didi

java - 在 vector 图像中创建 QR 码

转载 作者:行者123 更新时间:2023-12-03 02:37:11 24 4
gpt4 key购买 nike

我可以使用 ZXing 成功创建 QR 码 PNG 图像,但没有简单的方法来获取 SVG 或 EPS 输出。

如何从 QRCodeWriter 创建的 BitMatrix 对象创建 vector 图像?

最佳答案

我知道这个老问题,但对于任何想知道如何做到这一点的人来说...将 ZXing 连接到 JFreeSVG 非常容易 ( http://www.jfree.org/jfreesvg ) ,例如:

package org.jfree.demo;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import java.awt.Color;
import java.io.File;
import java.io.IOException;
import org.jfree.graphics2d.svg.SVGGraphics2D;
import org.jfree.graphics2d.svg.SVGUtils;

public class QRCodes {

public static void main(String[] args) throws WriterException, IOException {
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeWriter.encode("http://www.jfree.org/jfreesvg",
BarcodeFormat.QR_CODE, 160, 160);
int w = bitMatrix.getWidth();
SVGGraphics2D g2 = new SVGGraphics2D(w, w);
g2.setColor(Color.BLACK);
for (int xIndex = 0; xIndex < w; xIndex = xIndex + bitMatrix.getRowSize()) {
for (int yIndex = 0; yIndex < w; yIndex = yIndex + bitMatrix.getRowSize()) {
if (bitMatrix.get(xIndex, yIndex)) {
g2.fillRect(xIndex, yIndex, bitMatrix.getRowSize(), bitMatrix.getRowSize());

}
}
}

SVGUtils.writeToSVG(new File("qrtest.svg"), g2.getSVGElement());
}

}

关于java - 在 vector 图像中创建 QR 码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10789059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com