本帖最后由 ACmen.XH 于 2018-5-5 22:03 编辑
不知不觉来这里学习已经一个多月了,也不知道该写些什么,就分享一个小程序吧,二维码大家都知道吧,自己写一个简单的二维码吧:
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 MyQRcode {
public static void main(String[] args) throws IOException {
File file=new File("D:\\我的二维码.png");//图片保存的地址
String content="此处可以写网址或者文字(也可以表白^_^)";
qrCodeImg(file, content);
}
public static void qrCodeImg(File file,String content) throws IOException{
//实例化一个二维码类
Qrcode qrcode=new Qrcode();
//拍错率:M代表15%
qrcode.setQrcodeErrorCorrect('M');
//版本号7代表140 140
qrcode.setQrcodeVersion(7);
//编码
qrcode.setQrcodeEncodeMode('B');
int width=140;
int height=140;
//创建画板
BufferedImage bi=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//创建画笔
Graphics2D gs=bi.createGraphics();
gs.setBackground(Color.white);//设置背景颜色
gs.setColor(Color.black);//设置画笔颜色
gs.clearRect(0, 0, width, height);//画一个矩形
byte[] contentByte=content.getBytes("utf-8");
boolean[][] code=qrcode.calQrcode(contentByte);//以内容为基础生成二维数组
//循环二维数组,如果true就涂黑
for (int i = 0; i < code.length; i++) {
for (int j = 0; j < code.length; j++) {
if(code[j]){
gs.fillRect(j*3+2, i*3+2, 3, 3);
}
}
}
gs.dispose();//释放资源
ImageIO.write(bi, "png", file);//保存到file
}
}
需要导入一个关于二维码的jar包,下载地址 https://pan.baidu.com/s/14Iqna5IZroq5Du1fqv0uWQ 密码回复可见
|
|