我在网上找了一个解二维码的代码,利用的zxing包的功能解码,代码和zxing包都是现成的,编译通过然后运行是有些二维码能解析出来,有些就解析不出来。求大神
package test;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.EnumMap;
import java.util.Map;
import javax.imageio.ImageIO;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.BufferedImageLuminanceSource;
import com.google.zxing.DecodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Reader;
import com.google.zxing.ReaderException;
import com.google.zxing.Result;
import com.google.zxing.common.HybridBinarizer;
public class ZxingPdfRead {
private static Reader barcodeReader = new MultiFormatReader();
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws Exception {
File testImage = new File(
"E:\\work\\all_workspace\\wp_zxing\\barcode4jTest\\src\\test\\helloworld.png");
BufferedImage image = ImageIO.read(testImage);
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
try {
Map<DecodeHintType, Object> hints = new EnumMap<DecodeHintType, Object>(
DecodeHintType.class);
hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
Result result = barcodeReader.decode(bitmap, hints);
String resultText = result.getText();
System.out.println("resultText:" + URLDecoder.decode(resultText, "UTF-8"));
} catch (ReaderException ignored) {
ignored.printStackTrace();
}
}
}