** 我正在开发一个 Java 应用程序,用于读取(解码)QR 码,而无需使用笔记本电脑中的摄像头。我正在使用 ZXING JAR 来生成 QR 码。**
我正在对该二维码进行一些操作。现在,我想在不使用相机的情况下检查二维码是否正常。
有什么办法可以实现吗?
最佳答案
ZXing有一个JavaSE module其中提供了关键的 BufferedImageLuminanceSource
用于解码常规 Java BufferedImage
.
最低限度,摘自 ZXing 的 JavaSE DecodeThread :
BufferedImage image = ...
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result = new MultiFormatReader().decode(bitmap);
如果decode()
不会抛出异常,ZXing 能够解码条形码(您可以检查 contents of the bar code )。
http://zxing.org/w/docs/javadoc/com/google/zxing/Reader.html#decode(com.google.zxing.BinaryBitmap ,java.util.Map)
您可以配置 MultiFormatReader
,例如仅解析 QR 码,使用 decode(BinaryBitmap, Map<DecodeHintType,?> hints)
重载,允许您指定任意数量的 decoding hints 。或者,如果您确实只想要 QR 码,请使用 QRCodeReader
而不是MultiFormatReader
.
关于java - java中不使用摄像头的二维码解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12129504/