记快乐符号:
    利用google.zxing 获取二维码图片内容

    1. import com.google.zxing.BarcodeFormat;
    2. import com.google.zxing.Binarizer;
    3. import com.google.zxing.BinaryBitmap;
    4. import com.google.zxing.DecodeHintType;
    5. import com.google.zxing.LuminanceSource;
    6. import com.google.zxing.Result;
    7. import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
    8. import com.google.zxing.common.HybridBinarizer;
    9. import com.google.zxing.qrcode.QRCodeReader;
    10. import java.awt.image.BufferedImage;
    11. import java.io.File;
    12. import java.util.HashMap;
    13. import java.util.Map;
    14. import javax.imageio.ImageIO;
    15. /**
    16. * @description: TestQrcode <br>
    17. * @since: 2021/10/11 5:01 下午 <br>
    18. * @author: 释槐~ <br>
    19. * @version: <br>
    20. */
    21. public class TestQrcode {
    22. public static void main(String[] args) {
    23. System.out.println(decode(new File("/WechatIMG63.jpeg")));;
    24. }
    25. /**
    26. * 解析图片文件上的二维码
    27. *
    28. * @param imageFile 图片文件
    29. * @return 解析的结果,null表示解析失败
    30. */
    31. public static String decode(File imageFile) {
    32. try {
    33. BufferedImage image = ImageIO.read(imageFile);
    34. LuminanceSource luminanceSource = new BufferedImageLuminanceSource(image);
    35. Binarizer binarizer = new HybridBinarizer(luminanceSource);
    36. BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
    37. Map<DecodeHintType, Object> hints = new HashMap<>();
    38. hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
    39. hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
    40. hints.put(DecodeHintType.POSSIBLE_FORMATS, BarcodeFormat.QR_CODE);
    41. Result result = new QRCodeReader().decode(binaryBitmap, hints);
    42. System.out.println(result.toString());
    43. return result.getText();
    44. } catch (Exception e) {
    45. e.printStackTrace();
    46. return null;
    47. }
    48. }
    49. }

    pom 引入

    1. <!-- 二维码支持包 -->
    2. <dependency>
    3. <groupId>com.google.zxing</groupId>
    4. <artifactId>core</artifactId>
    5. <version>3.2.0</version>
    6. </dependency>
    7. <dependency>
    8. <groupId>com.google.zxing</groupId>
    9. <artifactId>javase</artifactId>
    10. <version>3.2.0</version>
    11. </dependency>