Java文字转二维码

Java文字转二维码代码 Java 文字转二维码

引入Maven依赖

 <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </dependency>

Java代码

public class Test { // 二维码需要使用到的颜色 private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; public static void main(String[] args) { createQrCodeImg(); } public static void createQrCodeImg() { try { String data = "http://www.baidu.com"; Map<EncodeHintType, String> character = new HashMap<>(); // 设置字符集 character.put(EncodeHintType.CHARACTER_SET, "UTF-8"); // 设置二维码的四个参数:需要生成的字符串,类型设置为二维码,二维码宽度,二维码高度,字符串字符集 BitMatrix bitMatrix = new MultiFormatWriter() .encode(data, BarcodeFormat.QR_CODE, 500, 500, character); // 二维码像素,也就是上面设置的 500 int width = bitMatrix.getWidth(); int height = bitMatrix.getHeight(); // 创建二维码对象 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { // 按照上面定义好的二维码颜色编码生成二维码 image.setRGB(x, y, bitMatrix.get(x, y) ? BLACK : WHITE); } } // 1.生成Base64图片 // 生成的二维码图片对象转 base64 ByteArrayOutputStream stream = new ByteArrayOutputStream(); // 设置图片的格式 ImageIO.write(image, "png", stream); String base64Img = Base64.encode(stream.toByteArray()); System.out.println(base64Img); // 2.直接输出二维码文件 // 这样写是生成在桌面,如果需要在另外的路径直接把文件路径替换即可。 String imgPath = FileSystemView.getFileSystemView().getHomeDirectory() + File.separator; // 生成的二维码名称 String imgName = "QrCodeStr.jpg"; // 创建文件对象 File file = new File(imgPath, imgName); ImageIO.write(image, "jpg", file); System.out.println("文件地址:" + file); } catch (Exception e) { throw new RuntimeException("生成二维码失败"); } } }

今天的文章 Java文字转二维码分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-11 18:51
下一篇 2024-12-11 18:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/83422.html