摘要:二维码是根据一定规则生成,存储信息的小图片。比如可以存储参数存储等内容。
二维码是根据一定规则生成,存储信息的小图片。比如可以存储参数存储url等内容。扫描之后将能获得这些内容
下文为普通二维码的生成,可自定义二维码的大小,定义二维码中存储的数据内容
1.下文使用的二维码生成jar坐标
com.google.zxing core 3.3.2
2.工具类的定义
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class CodeImageUtil {
// 默认二维码宽度 public static final int WIDTH = 300; // 默认二维码高度 public static final int HEIGHT = 300; // 默认二维码文件格式 public static final String FORMAT = "png"; // 二维码参数 public static final MapHINTS = new HashMap (); //初始化编码格式等参数 static { // 字符编码 HINTS.put(EncodeHintType.CHARACTER_SET, "utf-8"); HINTS.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); // 二维码与图片边距 HINTS.put(EncodeHintType.MARGIN, 2); } /** * * @description:功能描述 将二维码写出到输出流中 * @param content 二维码内容即要存储在二维码中的内容(扫描二维码之后获取的内容) * @param stream 输出流 * @param width 二维码宽 * @param height 二维码高 * @throws WriterException * @throws IOException * @see: 需要参见的其它内容 */ public static void writeToStream(String content, OutputStream stream, Integer width, Integer height) throws WriterException, IOException { if(width==null){ width=WIDTH; } if(height==null){ height=HEIGHT; } BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, HINTS); MatrixToImageWriter.writeToStream(bitMatrix, FORMAT, stream); }
}
3.main中的调用
public void main(String[] arg){
ByteArrayOutputStream out = new ByteArrayOutputStream(); // 生成二维码图片 CodeImageUtil.writeToStream(url, out, 300, 300); InputStream in = new ByteArrayInputStream(out.toByteArray()); //将生成的二维码写入图片,也可直接使用流 String filePath="H:file_station" + fileName; FileOutputStream fos = new FileOutputStream(filePath); int length; byte[] b = new byte[1024]; while ((length=in.read(b))>0){ fos.write(b,0,length); } fos.flush(); in.close(); fos.close();
}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/75752.html
什么是Leancloud Leancloud是国内有名的BaaS提供商,什么是BaaS提供商呢?通俗点讲就是给你提供增删改查等后台服务的API,你通过这些API就可以将数据存储在云端数据库中,而不需要关系服务器环境和里面的处理逻辑,它提供的SDK有js、java、object-c、python等等。 类似的BaaS提供商还有谷歌的firebase(www.firebase.com),但容易被墙不...
摘要:业务具体介绍,本系统是一个共享图书的小程序项目,企业级,创业项目。具体业务流程类似共享自行车,也有设计押金月卡季卡等等。以上是单个页面的实现基本文件目录。其中还涉及微信支付环节。 本博客 猫叔的博客,转载请申明出阅读本文约3分钟适读人群:Java后端、Java初级、小程序前端 本文是两个GitHub项目的序章,旨在指导初级程序员完成一个企业级共享项目的前后端代码实践,丰富自身的实战经...
摘要:微信小程序官方开放了个创建二维码的接口,其中有一个是生成二维码的,还有一个是葵花状的小程序码,我这里就用生成二维码。 微信小程序官方开放了3个创建二维码的接口,其中有一个是生成二维码的,还有一个是葵花状的小程序码,我这里就用php生成二维码。 首先要获取Access_token 这个请求起来也是很容易的,微信开发文档有请求接口:要把自己的小程序的APPID和APPSECRET获取到 h...
摘要:微信小程序官方开放了个创建二维码的接口,其中有一个是生成二维码的,还有一个是葵花状的小程序码,我这里就用生成二维码。 微信小程序官方开放了3个创建二维码的接口,其中有一个是生成二维码的,还有一个是葵花状的小程序码,我这里就用php生成二维码。 首先要获取Access_token 这个请求起来也是很容易的,微信开发文档有请求接口:要把自己的小程序的APPID和APPSECRET获取到 h...
摘要:我们来看一个例子,关于异常处理的一些知识点。看下面这段程序。这个方法能抛出的异常类型已经被擦除成为了。如何消除掉这个编译器错误呢把第行的改成即可。再次执行,这次既没有语法错误,也没有运行时错误了已经成功地被第行的语句捕捉住了。 文章的标题看似自相矛盾,然而我在正确二字上打了引号。我们来看一个例子,关于Java异常处理(Exception Handling)的一些知识点。 showImg...
阅读 3596·2021-11-24 10:22
阅读 3667·2021-11-22 09:34
阅读 2451·2021-11-15 11:39
阅读 1494·2021-10-14 09:42
阅读 3646·2021-10-08 10:04
阅读 1511·2019-08-30 15:52
阅读 794·2019-08-30 13:49
阅读 2994·2019-08-30 11:21