如何用java开发二维码

<span style="font-size:18px;">开发二维码需要两个jar包:qrcode.jar和qrcode_swetake.jar</span>
<span style="font-size:14px;">package com.weixin.utils;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

import com.swetake.util.Qrcode;

<span style="color:#33ccff;">/**
 * java生成二维码工具类
 * @author LeeterYang
 *
 */</span>
</span><span style="font-size:18px;">public class QrcodeUtil {</span><span style="font-size:14px;">

	<span style="color:#33ccff;">/**
	 * 生成二维码图像
	 * @author LeeterYang
	 * @param content 生成二维码的文字或其他内容
	 * @param imgPath 生成二维码图像的保存地址
	 * @return void无返回值
	 */</span>
	</span><span style="font-size:18px;">public static void QrcodeImg(String content,String imgPath){
		
		try{
			int width = 140;
			int height = 140;</span><span style="font-size:14px;">
			</span>
<span style="font-size:14px;"><span style="white-space:pre">			</span><span style="color:#33cc00;">//实例化Qrcode</span>
			</span><span style="font-size:18px;">Qrcode qrcode = new Qrcode();</span><span style="font-size:14px;">
			</span>
<span style="font-size:14px;"><span style="white-space:pre">			</span><span style="color:#33cc00;">//设置二维码的排错率L(7%),M(15%),Q(25%),H(30%)</span>
			</span><span style="font-size:18px;">qrcode.setQrcodeErrorCorrect('M');
		     qrcode.setQrcodeEncodeMode('B');</span><span style="font-size:14px;">
			
			<span style="color:#33cc00;">//设置二维码尺寸,取值范围 1-40</span>
			</span><span style="font-size:18px;">qrcode.setQrcodeVersion(7);</span><span style="font-size:14px;">
			<span style="color:#33cc00;">//设置图片尺寸</span>
			</span><span style="font-size:18px;">BufferedImage bufImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);</span><span style="font-size:14px;">
			
			<span style="color:#33cc00;">//绘制二维码图片</span>
			Graphics2D gs = bufImg.createGraphics();
			
			<span style="color:#33cc00;">//设置二维码背景颜色</span>
			</span><span style="font-size:18px;">gs.setBackground(Color.WHITE);</span><span style="font-size:14px;">
			<span style="color:#33cc00;">//创建二维码的矩形区域,第一个0代表X坐标起始位置,第二个0代表Y坐标起始位置</span>
			</span><span style="font-size:18px;">gs.clearRect(0, 0, width, height);</span><span style="font-size:14px;">
			<span style="color:#33cc00;">//设置二维码的颜色</span>
			</span><span style="font-size:18px;">gs.setColor(Color.BLACK);</span><span style="font-size:14px;">
			
			<span style="color:#33cc00;">//获取内容的字节数组,并设置编码集</span>
			</span><span style="font-size:18px;">byte[] contentBytes = content.getBytes("UTF-8");</span><span style="font-size:14px;">
			<span style="color:#33cc00;">//120是官方规定二维码只能存储120个字节的内容</span>
			</span><span style="font-size:18px;">if(contentBytes.length > 0 && contentBytes.length < 120){</span><span style="font-size:14px;">
				<span style="color:#33cc00;">//将字节数组转换为二维数组</span>
				</span><span style="font-size:18px;">boolean[][] codeOut = qrcode.calQrcode(contentBytes);</span><span style="font-size:14px;">
				<span style="color:#33cc00;">//循环拼接二维码图像</span>
				</span><span style="font-size:18px;">for(int i = 0;i < codeOut.length;i++){
				for(int j = 0;j < codeOut.length;j++){
				    if(codeOut[j][i]){
					gs.fillRect(j*3+2, i*3+2, 3, 3);
				    }
				}
			    }
			}else{
			    System.out.println("您输入的内容可能超出了最大限制值!");
			}</span><span style="font-size:14px;">
			
			<span style="color:#33cc00;">//生成二维码图片</span>
			</span><span style="font-size:18px;">File imgFile = new File(imgPath);
		     ImageIO.write(bufImg, "png", imgFile);
		     System.out.println("二维码生成成功!");
		}catch(Exception e){
		     e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		String content = "http://www.baidu.com";
		String imgPath = "F:/二维码/1.png";
		QrcodeImg(content, imgPath);
	}
}</span>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值