java开发二维码(详细实例)

现在随处可见二维码扫一扫,我们也可以用java来完成制作我们的自定义二维码

那么什么是二维码呢?

是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。


本实例主要说明如何在后端开发,使用java生成二维码

1,首先我们需要下载生成二维码所需要的jar包 QRcode.jar 您可以点击下面的连接下载

将该jar包导入到我们的项目中

java开发二维码QRCode.jar下载

2,创建工具类QrcodeUtil

里面有一个静态的方法,之所以用静态的方法,其中一个好处就是在我们使用的时候不需要实例化了

工具类如下:


	public static void Qrcodeimg(String context,String imgPath){
		int width = 140;
		int height = 140;
		try {
		//实例化Qrcode
		Qrcode qrcode = new Qrcode();
		//设置二维码的排错率
		//L:7%;M:15%;Q:25%;H:30%(4个可选值)
		//二维码容错率即是指二维码图标被遮挡多少后,仍可以被扫描出来的能力。
		//容错率越高,则二维码图片能被遮挡的部分越多。
		qrcode.setQrcodeErrorCorrect('Q');
		//模版
		qrcode.setQrcodeEncodeMode('8');
		//二维码尺寸,取值范围(1-40)
		qrcode.setQrcodeVersion(7);
		//设置图片尺寸
		BufferedImage bufimg = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
		//绘制
		Graphics2D gs = bufimg.createGraphics();
		//设置二维码的背景颜色
		gs.setBackground(Color.WHITE);
		//设置二维码的矩形区域
		gs.clearRect(0, 0, width, height);
		//设置二维码的颜色
		gs.setColor(Color.RED);
		//获取内容的字节数组,设置编码集
		byte[] contextbytes = context.getBytes("UTF-8");
		
		// 偏移量
		int pixoff = 2;
		
		//输出二维码,不能打印120个字符,二维码的容量决定
		if(contextbytes.length > 0 && contextbytes.length < 120){
			boolean[][] codeOut = qrcode.calQrcode(contextbytes);
			for(int i = 0;i < codeOut.length;i++){
				for(int j = 0;j < codeOut.length;j++){
					if(codeOut[j][i]){
						gs.fillRect(j*3+pixoff, i*3+pixoff, 3, 3);
					}
				}
			}
		}else{
			System.out.println("出错了,可能是您的内容太长了");
		}
		
		//生成二维码的图片
		File imgfile = new File(imgPath);
		ImageIO.write(bufimg, "png", imgfile);
		System.out.println("生成二维码成功");
		
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
工具类我已经写出了比较详细的注释。大家可以修改测试下。



爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img