二维码的生成_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 二维码的生成

二维码的生成

 2014/12/9 21:35:11  墨绿红晨  程序员俱乐部  我要评论(0)
  • 摘要:此生成二维码的类我用的是QRCode的包下载地址:http://www.400gb.com/file/80134276importjava.awt.Color;importjava.awt.Graphics2D;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjava.io.UnsupportedEncodingException;importjavax.imageio
  • 标签:二维码

class="MsoNormal">此生成二维码的类我用的是QRCode的包

下载地址:http://www.400gb.com/file/80134276

?

?

import java.awt.Color;

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

?

import javax.imageio.ImageIO;

?

import com.swetake.util.Qrcode;

?

publicclass TwoQrcode {

?? publicvoid CreateQrcode(String content, String path)//二维码储存的内容,二维码以什么形式输出

???????? throws UnsupportedEncodingException {

//1.首先我在这里生成二维码选的一种方法是用Qrcode这个类

????? Qrcode qrCode = new Qrcode();// 注意是com.swetake.util.Qrcode;

//对二维码的一些设置

????? qrCode.setQrcodeErrorCorrect('M');// 设置纠错能力,纠错能力越高,二维码可以储存的信息就越少

????? qrCode.setQrcodeEncodeMode('B');// 设置编码二进制

????? qrCode.setQrcodeVersion(7);// 设置版本

?? //2.对要储存在二维码里的信息进行处理

// 字符编码的转换

????? if (content.isEmpty()) {

???????? System.out.println("传入值为空");

???????? return;

????? }

//字符编码的转换是为了我们在扫描时不要出现乱码。如果项目本身就设置了是UTF-8,则此处IOS-8859-1改成UTF-8即可。

byte[] bt = new String(content.getBytes("ISO-8859-1"), "UTF-8").getBytes();// 异常,抛出

????? // 3.创建图像数据的缓冲区.具有8RGB颜色的分辨图像

????? BufferedImage image = new BufferedImage(140, 140,

??????????? BufferedImage.TYPE_INT_RGB);

????? // 创建画笔工具

????? Graphics2D g2D = (Graphics2D) image.getGraphics();

????? g2D.setBackground(Color.WHITE);// 设置背景色为白色

????? g2D.clearRect(0, 0, 140, 140);// 绘制矩形Rect

????? g2D.setColor(Color.BLACK);// 前景色为黑色

????? if (bt.length > 0) {// 这个方法传的值不为空时

???????? boolean[][] s = qrCode.calQrcode(bt);

???????? for (int i = 0; i < s.length; i++) {

??????????? for (int j = 0; j < s.length; j++) {

??????????????? if (s[j][i]) {// 为真时就画,即前景色的黑点

?????????????????? g2D.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);

??????????????? }

??????????? }

???????? }

?

????? }

????? g2D.dispose();// 画笔释放

????? image.flush();// 将残留的数据推出缓冲区

????? try {

???????? ImageIO.write(image, "jpg", new File(path));//以文件的方式输出

???????? // ImageIO.write(image, "jpg", outputStream);//以流的形式将image二维码图像输出

????? } catch (IOException e) {

???????? // TODO Auto-generated catch block

????? ?? e.printStackTrace();

????? }

?? }

}

?

?

上一篇: 空气净化器来了,小米吹得这是什么风? 下一篇: 没有下一篇了!
发表评论
用户名: 匿名