Java实现高可定制的二维码生成

开篇废话

不是第一次写二维码生成的代码,但是是第一次把它整理清晰并做成高可定制的。具体生成实现都是和网上的差不多用了com.swetake.util.Qrcode进行关键处理。但是这篇文章的不同之处在于不是为了简单的实现,而是为了实现高可定制的功能。很多时候要用二维码,但是实际上二维码的场景还是很多的。打印在纸巾上的是二维码,做成大海报的也是二维码,嵌入logo的是二维码,不嵌入logo的也是二维码。

 

为了让这个工具类使用场景更广,特地封装了一个配置类,根据配置进行更多的处理,最终定制二维码的生成。

额,个人比较懒,就不贴全部代码了,这里之列出一些关键实现,没啥技术难点,只是注释得多,方便理解。

 

ok,开始……

关键代码

1、模式设置

// 设定编码容错级别
qrcode.setQrcodeErrorCorrect(c.getLevel());
// 设定编码模式
qrcode.setQrcodeVersion(c.getEncodeMode());
// 设定编码版本
qrcode.setQrcodeVersion(c.getVersion());

2、字符转化

// 转化字符串为byte数组,用于二维码编码作为参数
byte[] buff = source.getBytes(charset);
boolean[][] bRect;
try {
	// 进行编码处理,超长将会在这里抛出异常
	bRect = qrcode.calQrcode(buff);
} catch (Exception e) {
	// 这里如果出现异常,一般是超长了,所以这里抛出异常
	throw new QRCodeGenerateException("Generate qrcode exception."
			+ "Please check your generate config and check the source string."
			+ "The exception offen by the source string is too long." 
			+ "The source string
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值