java 生成2维码
来源:互联网 发布:restful框架 php 编辑:程序博客网 时间:2024/06/07 23:59
直接上代码
下载jar包地址: http://pan.baidu.com/s/1eSxq7ke
package com.util;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;public class CreateTwoBarImage { public void creatTxm(String param) throws Exception { Qrcode qrcode = new Qrcode(); qrcode.setQrcodeErrorCorrect('M'); qrcode.setQrcodeEncodeMode('B'); qrcode.setQrcodeVersion(7); byte[] bstr = param.getBytes("UTF-8");//返回用指定名字命名的字节数组值 BufferedImage bi = new BufferedImage(139, 139, BufferedImage.TYPE_INT_RGB);//实例化指定参数的BufferedImage Graphics2D g = bi.createGraphics();//返回一个呈现指定 BufferedImage 的 Graphics2D 对象 g.setBackground(Color.WHITE); // 设置该Graphics2D 对象的背景颜色 g.clearRect(0, 0, 139, 139); //擦除指定的矩形,并且用一个透明的颜色填充它 g.setColor(Color.BLACK); // 条码颜色 if (bstr.length > 0 && bstr.length < 123) { boolean[][] b = qrcode.calQrcode(bstr); //通过calQrcode函数将byte数组转换成boolean数组 ,然后依据编码后的boolean数组绘图 for (int i = 0; i < b.length; i++) { for (int j = 0; j < b.length; j++) { if (b[j][i]) { g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3); //填充指定的矩形 } } } } g.dispose(); //处理图形上下文,并释放系统资源 bi.flush();//将生成的BufferedImage序列化到磁盘 String FilePath = "D:/" + param + ".jpg";//生成的二维码要存放的文件路径 File f = new File(FilePath); ImageIO.write(bi, "jpg", f);//将生成的二维码以图片的形式写入相应的文件 } public static void main(String args[]) { try { new CreateTwoBarImage().creatTxm("lmb"); } catch (Exception e) { e.printStackTrace(); } }}
package com.item.controller;import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.UnsupportedEncodingException;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.swetake.util.Qrcode;/** * * @author: Yanmh * @Title: PrintTwoBarController.java * @Description: 生成2维码 * * @data: 2017 2017年11月27日 上午11:05:38 */@Controller@RequestMapping("printcon")public class PrintTwoBarController {@RequestMapping(value="/img.it") public void print(HttpServletRequest request, HttpServletResponse response) throws IOException{ String code = request.getParameter("code"); BufferedImage img = getImg(code); ImageIO.write(img, "jpg", response.getOutputStream()); }public BufferedImage getImg(String code) throws UnsupportedEncodingException{ Qrcode testQrcode = new Qrcode(); testQrcode.setQrcodeErrorCorrect('M'); testQrcode.setQrcodeEncodeMode('B'); testQrcode.setQrcodeVersion(7); byte[] d = code.getBytes("UTF-8"); BufferedImage image = new BufferedImage(98, 98, BufferedImage.TYPE_BYTE_BINARY); Graphics2D g = image.createGraphics(); g.setBackground(Color.WHITE); g.clearRect(0, 0, 98, 98); g.setColor(Color.BLACK); if (d.length > 0 && d.length < 120) { boolean[][] s = testQrcode.calQrcode(d); for (int i = 0; i < s.length; i++) { for (int j = 0; j < s.length; j++) { if (s[j][i]) { g.fillRect(j * 2 + 3, i * 2 + 3, 2, 2); } } } } g.dispose(); image.flush(); return image;}}
前台:
<img src="<%=path %>/printcon/img.it?code=http://www.baidu.com" width="100" height="100"/>
效果
阅读全文
0 0
- java 生成2维码
- java生成密码生成
- 【Java】java生成xls(poi)(2)
- java使用jbarcode生成条形码2-2
- 使用java生成pdf文档(2)
- java生成图片验证码2
- Java生成2维码源码
- java生成图表格式图片(2)
- 动态生成JAVA代码
- JAVA生成JPG缩略图
- JAVA生成JPG缩略图
- JAVA生成JPG缩略图
- java生成JPEG 图像文件
- 用Java生成XML
- JAVA生成JPG缩略图
- JAVA生成JPG缩略图
- java生成xml文件
- JAVA生成JPG缩略图
- hadoop学习(二)----HDFS简介及原理
- 1044. 火星数字(20)--Python
- MIPI-DSI 三种 Video Mode 理解
- 字母和数字键的键码值(KeyCode)
- 学习seo教程需要学习更需要提升
- java 生成2维码
- 【高效代码调错系列之代码规范】——让软件学会自己寻找缺陷
- js模块历程
- 习题6.4
- Android 签名打包出现的错误的解决方法以及代码中获取应用签名信息方法
- POJ 3255
- ARM概述
- Redhat(红帽)yum 源更新出现database disk image is malformed
- 小程序支付绑定服务号支付步骤,微信小程序支付绑定商户号支付