index.jsp代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>生成二维码</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <script type="text/javascript"> function check() { var content = document.getElementById("content").value; if (content.length == 0 || content.length - 80 > 0) { alert("请输入1-80长度内容,当前长度:" + content.length); return false; } document.getElementById("createEwmForm").submit(); return true; } </script> <body> <div align="center"> <form method="post" id="createEwmForm" action="qrcode_getQRcodeImg.action"> <textarea rows="5" cols="30" name="content" id="content"></textarea> <p> <input type="button" onclick="check()" name="ewmCreate" id="ewmCreate" value="生成二维码" /> </form> <img alt="二维码" src="img/ewm.png"> </div> </body> </html>
struts.xml代码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="qrcode" extends="struts-default"> <action name="qrcode_*" class="com.singlee.action.QRcodeAction" method="{1}"> <result name="ok">/index.jsp </result> <result name="no">/error.jsp </result> </action> </package> </struts>
CreateEwm.java代码
package com.singlee.util; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import com.swetake.util.Qrcode; /** * * @author mingzl * @function 生成二维码 * */ public class CreateEwm { /** * 生成二维码(QRCode)图片的公共方法 * * @param content * 存储内容 * @param size * 二维码尺寸,取值范围1-40,值越大尺寸越大,可存储的信息越大 * @return */ public BufferedImage qrCodeCommon(String content, int size) { BufferedImage bufImg = null; try { Qrcode qrcodeHandler = new Qrcode(); // 设置二维码排错率,可选L(7%)、M(15%)、Q(25%)、H(30%),排错率越高可存储的信息越少,但对二维码清晰度的要求越小 qrcodeHandler.setQrcodeErrorCorrect('M'); qrcodeHandler.setQrcodeEncodeMode('B'); // 设置设置二维码尺寸,取值范围1-40,值越大尺寸越大,可存储的信息越大 qrcodeHandler.setQrcodeVersion(size); // 获得内容的字节数组,设置编码格式 byte[] contentBytes = content.getBytes("utf-8"); // 图片尺寸 int imgSize = 67 + 12 * (size - 1); bufImg = new BufferedImage(imgSize, imgSize, BufferedImage.TYPE_INT_RGB); Graphics2D gs = bufImg.createGraphics(); // 设置背景颜色:白色 gs.setBackground(Color.WHITE); gs.clearRect(0, 0, imgSize, imgSize); // 设定图像颜色:黑色 gs.setColor(Color.BLACK); // 设置偏移量 int pixoff = 2; // 输出内容:二维码 if (contentBytes.length > 0 && contentBytes.length < 800) { boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes); for (int i = 0; i < codeOut.length; i++) { for (int j = 0; j < codeOut.length; j++) { if (codeOut[j][i]) { gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3); } } } } else { throw new Exception("QRCode content bytes length = " + contentBytes.length + " not in [0, 800]."); } gs.dispose(); bufImg.flush(); } catch (Exception e) { e.printStackTrace(); } return bufImg; } }
QRcodeAction代码
package com.singlee.action; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import com.opensymphony.xwork2.ActionSupport; import com.singlee.util.CreateEwm; public class QRcodeAction extends ActionSupport { private static final long serialVersionUID = 1L; private String content; public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getQRcodeImg() { CreateEwm ce = new CreateEwm(); int size = (content.getBytes().length - 1) / 20; if (size >= 40) { return "no"; } size = size < 5 ? 5 : size; BufferedImage bi = ce.qrCodeCommon(content, size); try { String upPath = this.getClass().getClassLoader().getResource("") .getPath().replace("WEB-INF/classes", "img"); ImageIO.write(bi, "png", new File(upPath + "/ewm.png")); } catch (IOException e) { e.printStackTrace(); return "no"; } return "ok"; } }
相关推荐
JAVA生成二维码Demo源码,直接导入运行即可。一共只有一个包和两个类,很简单的小Demo,适合新手学习。
1.通过QRCode.jar包生成二维码,可设置二维码图片格式,二维码图片存放路径,二维码尺寸,二维码颜色 2.二维码扫描内容分为两种,1种为链接式,如:www.zdkc.com,通过链接展示访问的内容,1种为json数据展示,通过...
java生成二维码所用的jar包,里面包含源码,如有不对的地方往大家原谅。
java生成二维码_java将二维码转换成base64
资源介绍:。易语言生成二维码模块源码。资源作者:。资源界面:。资源下载:。
java生成二维码源码
Java后台生成二维码工具类
java生成二维码,java将二维码转换成base64
java生成二维码
java中二维码生成和解析的必须jar包 以及完整的java代码 可以直接使用
java 使用zxing生成二维码(带logo和文字说明)已经封装 使用起来很方便 下载下来直接调用传入参数就可以
java代码直接生成二维码,生成的二维码图片在F盘里面,可以根据自己的需要进行修改路径即可,否则报错
java生成二维码 经典 demo 案例
java 生成二维码,java 解析二维码 ,很详细的示例 ,很不错的学习资料
该资源为java生成二维码,可调整二维码大小,排版,密度,设置图片头像
支持maven引入依赖生成二维码,自带工具类,支持生成二维码到本地,也可以转成base64字符串(前端轻松解析),写好了强大的工具类,总有一个适合你的。。。。。
java生成二维码简单DEMO,生成图片到目录下,稍微改下可以直接用流输出显示。
java生成二维码demo,可以直接使用。一看就会。欢迎下载
java 生成二维码项目 直接导入IDE就能用