为了账号安全,请及时绑定邮箱和手机立即绑定

跟不上老师的步调 不太懂这节代码的意思

跟不上老师的步调 不太懂这节代码的意思

栗喵 2016-09-19 20:20:08
为什么要用到HashMap呢?作用是什么?按照老师的思路用myeclipse写了之后好多警号 又根据提示改了下 但感觉思路还是不清晰  哪位大神能帮我加个注释么?package com.sun;import java.io.File;import java.nio.file.Path;import java.util.HashMap;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 CreateQRTest { public static void main(String[] args){ //定义二维码的长度 宽度 以及格式 int width = 300; int height = 300; String format = "png"; //二维码内容 String content = "http://l-hs.cn/"; //定义二维码的参数 @SuppressWarnings("rawtypes") HashMap<EncodeHintType, Comparable> hints = new HashMap<EncodeHintType, Comparable>(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8");//编码格式 hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);//纠错 hints.put(EncodeHintType.MARGIN,2);//边距 try { BitMatrix bitmatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints); Path file = new File("C:/Users/ZILI/Desktop/love.png").toPath(); MatrixToImageWriter.writeToPath(bitmatrix, format, file); } catch (Exception e) { e.printStackTrace(); } } }
查看完整描述

1 回答

已采纳
?
四无小青年

TA贡献88条经验 获得超43个赞

用HashMap是因为MultiFormatWriter().encode()方法需要一个HashMap作为参数,而map中的内容是zxing开源项目所规定的一些配置项,以下代码可以体现出来:

//encode()方法最后一个参数hints就是那个HashMap。
HashMap<EncodeHintType, Comparable> hints = new HashMap<EncodeHintType, Comparable>();
BitMatrix bitmatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height,hints);

望采纳。

查看完整回答
反对 回复 2016-09-19
  • 1 回答
  • 0 关注
  • 3567 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信