maven
谷歌的开源框架文章来源地址https://www.toymoban.com/news/detail-515676.html
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.1</version>
</dependency>
代码
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
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;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
public class QRCode {
public static void main(String[] args) {
try {
//生成二维码
String text = "Hello, world!";
int width = 300;
int height = 300;
String format = "png";
Map<EncodeHintType, Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE,
width, height, hints);
Path path = FileSystems.getDefault().getPath("./qrcode." + format);
MatrixToImageWriter.writeToPath(bitMatrix, format, path);
System.out.println("QR code generated successfully!");
} catch (Exception e) {
System.err.println("Failed to generate QR code: " + e.getMessage());
}
//解码
File file = new File("./qrcode." + format);
BufferedImage image = ImageIO.read(file);
BinaryBitmap binaryBitmap = new BinaryBitmap(
new HybridBinarizer(new BufferedImageLuminanceSource(image)));
Result result = new MultiFormatReader().decode(binaryBitmap);
System.out.println("Decoded text: " + result.getText());
} catch (Exception e) {
System.err.println("Failed to decode QR code: " + e.getMessage());
}
}
}
文章来源:https://www.toymoban.com/news/detail-515676.html
到了这里,关于Java检测图片是否是二维码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!