Java 生成二维码
发布日期:2021-10-12 20:07:53 浏览次数:11 分类:技术文章

本文共 2916 字,大约阅读时间需要 9 分钟。

 参考所得

第一步:  下载两个jar包:qrcode.jar和qrcode_swetake.jar

                链接:https://pan.baidu.com/s/1RdW7cWz9-mErx13T-QxnHg 

                提取码:e44a 
 

第二步:  二维码生成代码编写

                 1》、

package com.zhao.controller;import com.zhao.util.CreateQRCode;public class 二维码 {		public static void main(String[] args) {						String data = "同志,我想盘你!!!!!!!!!!!!!!!";		/**		* 生成二维码		*/		CreateQRCode.encode(data, "C:/Users/acer/Desktop/二维码/hehe.JPG");				/**		* 解析二维码		*/		//CreateQRCode.decode("D:/test/微信公众账号.JPG");	}	}

  工具类CreateQRCode .java

package com.zhao.util;import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import com.swetake.util.Qrcode;public class CreateQRCode {			//生成二维码	public static boolean encode(String srcValue, String qrcodePicfilePath){		int MAX_DATA_LENGTH = 200;		     byte[] d = srcValue.getBytes();		     int dataLength = d.length;		     int imageWidth = 113; 		     int imageHeight = imageWidth;		     BufferedImage bi = new BufferedImage(imageWidth, imageHeight,BufferedImage.TYPE_INT_RGB);		     Graphics2D g = bi.createGraphics();		     g.setBackground(Color.WHITE);		     g.clearRect(0, 0, imageWidth, imageHeight);		     g.setColor(Color.BLACK);		     if (dataLength > 0 && dataLength <= MAX_DATA_LENGTH) {		        Qrcode qrcode = new Qrcode();		        qrcode.setQrcodeErrorCorrect('M'); 		        qrcode.setQrcodeEncodeMode('B'); 		        qrcode.setQrcodeVersion(5);		        boolean[][] b = qrcode.calQrcode(d);		        int qrcodeDataLen = b.length;		        for (int i = 0; i < qrcodeDataLen; i++) {		           for (int j = 0; j < qrcodeDataLen; j++) {		              if (b[j][i]) {		                 g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3); 		              }		           }		        }		        System.out.println("二维码成功生成!!");		     } else {		        System.out.println( dataLength +"大于"+ MAX_DATA_LENGTH);		        return false;		     }		     g.dispose();		     bi.flush();		     File f = new File(qrcodePicfilePath);		     String suffix = f.getName().substring(f.getName().indexOf(".")+1, f.getName().length());		     System.out.println("二维码输出成功!!");		     try {		        ImageIO.write(bi, suffix, f);		     } catch (IOException ioe) {		        System.out.println("二维码生成失败" + ioe.getMessage());		        return false;		     }		return true;		}     //解析二维码/*	public static String decode(String qrcodePicfilePath) {		System.out.println("开始解析二维码!!");		 读取二维码图像数据 		File imageFile = new File(qrcodePicfilePath);		BufferedImage image = null;		try {		image = ImageIO.read(imageFile);		} catch (IOException e) {		System.out.println("读取二维码图片失败: " + e.getMessage());		return null;		}		 解二维码 		QRCodeDecoder decoder = new QRCodeDecoder();		String decodedData = new String(decoder.decode(new QRCodeImage(image)));		System.out.println("解析内容如下:"+decodedData);		return decodedData;		}	*/			}

第三步:执行main函数 结果如下图

生成二维码结果如下图

 

扫二维码得结果如下:

 

到此over。解析二维码代码自己琢磨。 

转载地址:https://blog.csdn.net/qq_39772439/article/details/88995218 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:下拉项,本月、前一月、前两月 联动js效果
下一篇:button按钮颜色切换

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月25日 05时13分07秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【C++】算法集锦(12):高楼扔鸡蛋 2019-04-27
【图解】拥塞控制 2019-04-27
线程上下文切换 2019-04-27
什么是服务熔断? 2019-04-27
服务器压力过大?CPU打满?我来帮你快速检查Linux服务器性能 2019-04-27
C++面经总结之《Effective C++》(一) 2019-04-27
C++面经总结之《Effective C++》(二) 2019-04-27
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!! 2019-04-27
打开我的收藏夹 -- Python数据分析杂谈 2019-04-27
上手Pandas,带你玩转数据(1)-- 实例详解pandas数据结构 2019-04-27
上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据 2019-04-27
上手Pandas,带你玩转数据(3)-- pandas数据存入文件 2019-04-27
爬虫遇上不让右击、不让F12的网站,该怎么办? 2019-04-27
上手Pandas,带你玩转数据(4)-- 数据清洗 2019-04-27
上手Pandas,带你玩转数据(5)-- 数据转换与数据定位 2019-04-27
上手Pandas,带你玩转数据(6)-- 摆脱对pandas可视化丑图的刻板印象吧 2019-04-27
从零开始,学会Python爬虫不再难!!! -- (1)开篇:初识爬虫,基础铺垫 丨蓄力计划 2019-04-27
从零开始,学会Python爬虫不再难!!! -- (2)承接:解析网页,抓取标签 丨蓄力计划 2019-04-27
AttributeError: module ‘urllib‘ has no attribute ‘quote‘的解决办法 2019-04-27
linux shell — 6.初识 EXT2 文件系统 2019-04-27