生成二维码
来源:互联网 发布:淘宝有晒图福利的店铺 编辑:程序博客网 时间:2024/04/30 18:40
package leo;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;public class QRCodeEncoderHandler {// 入口主函数public static void main(String[] args) {// 生成二维码图片的路径String imgPath = "F:/new_example/QrcodeImage/3301.jpg";// 此路径要根据自己的图片所在的位置来定String content = "hello 大大小小,welcome to QRCode!\n"+ "myblog [http://blog.csdn.net/tfslovexizi]";// 将要转换成二维码的内容QRCodeEncoderHandler handler = new QRCodeEncoderHandler();handler.encodeQRCoder(content, imgPath);// 写一个方法来生成二维码图片System.out.println("encode QRCode success!");}private void encodeQRCoder(String content, String imgPath) {// TODO Auto-generated method stubQrcode qrcodeHandler = new Qrcode();// 实例化一个Qrcode类;来自第三方jar包com.swetake.util.Qrcode;// 设置纠错级别:可选L(7%)、M(15%)、Q(25%)、H(30%),排错率越高可存储的信息越少,但对二维码清晰度的要求越小qrcodeHandler.setQrcodeErrorCorrect('M');// 设置编码方式: N代表数字,A代表字符a-Z,B代表其他字符qrcodeHandler.setQrcodeEncodeMode('B');// 设置二维码版本:取值范围1-40,值越大尺寸越大,可存储的信息越大qrcodeHandler.setQrcodeVersion(7);System.out.println(content);try {byte[] contentBytes = content.getBytes("gb2312");// 将内容转换成byte// 设置二维码显示图片的宽和高BufferedImage bufImg = new BufferedImage(140, 140,BufferedImage.TYPE_INT_RGB);// 充当画笔的角色Graphics2D gs = bufImg.createGraphics();// 设置背景色gs.setBackground(Color.WHITE);// 设置二维码显示的区域 ,//注意一定要先设置背景色,然后再去清除所显示区域的内容,要不然二维码显示不出来gs.clearRect(0, 0, 140, 140);// 设置图片颜色gs.setColor(Color.BLACK);// 设置偏移量 不设置可能导致解析出错int pixoff = 0;// 输出内容 二维码if (contentBytes.length > 0 && contentBytes.length < 120) {boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);for (int i = 0; i < codeOut.length; i++) {for (int j = 0; j < codeOut.length; j++) {if (codeOut[i][j]) {gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);}}}} else {System.out.println("QRCode content byte length "+ contentBytes.length + " not in 120");}gs.dispose();bufImg.flush();File file = new File(imgPath);ImageIO.write(bufImg, "jpg", file);} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
昨天学习了一下二维码的一些东西,今天就在网上查资料,用java语言写了一个简单的二维码生成小程序
要想生成一个自己的二维码,首先需要做一个准备工作,那就是去获取一个第三方的jar包,里面提供了二维码的生成方法;此jar包是Qrcode_swetake.jar;当然我是从网上下载的,并且将此jar包上传到了资源上,有需要的可以去下载。
二维码在我们的生活中越来越多的出现在各种场合,因此二维码对我们越来越重要。二维码相对于条形码来说,储存了更多的信息。
先看看我整理的一点源码吧 (不好意思,源码一不小心给弄到上面去了) 那就看一下生成的图片吧
1 0
- java二维码 生成二维码
- 生成二维码、识别二维码
- 扫描二维码+生成二维码
- 生成二维码、自定义二维码
- 生成二维码
- 二维码生成
- 二维码生成
- 生成二维码
- 二维码生成
- 二维码生成
- 生成二维码
- 二维码生成
- 生成二维码
- 二维码--生成
- 生成二维码
- 生成二维码
- 二维码生成
- 生成二维码
- iOS中使用RegexKitLite来试用正则表达式
- 二进制,八进制,十六进制,十进制间进行相互转换
- 实用—Android开发环境搭建
- 用HTML5 Audio API开发游戏音乐
- 6.9 Performing a Task Only Once with GCD
- 生成二维码
- 关于Browse the filesystem打不开问题
- C#数据库连接
- linux备份和还原mbr的方法
- android 获取图片与裁减图片
- 软件产品序列号
- 百度地图javascriptAPI点击地图得到坐标(拾取坐标)
- 关于Haproxy安装和配置:负载配置【haproxy.cfg】问题记录
- 构建高并发高可用的平台架构