1.摘要
本篇文章主要介绍使用Go语言生成自定义带中心图片的二维码方法, 该二维码生成支持用户自定义输入五项参数,包括:扫码之后自动跳转的URL地址、在二维码中心显示图片的保存路径、二维码图片的大小参数和最终生成二维码的宽度和高度大小。通过对该程序的改造, 可利用Go语言的多协程在短时间内生成多个二维码, 并且都是可定制化的。
2.实现方法过程
我们这次的任务目标,主要是生成像下面图片一样的二维码, 主要特征是二维码中间的图片可以自定义生成,如图:
在我们的项目工程中, 需要引入两个库:
github.com/nfnt/resize
github.com/skip2/go-qrcode
其中go-qrcode实现了二维码生成的底层实现,包括:图形绘制、位图填充、数据编码等。resize库实现了图像的尺寸任意缩放或按固定比例调整。
在生成二维码之前,首先要进行初始化, 代码如下:
var err error
var qrCode *qrcode.QRCode
qrCode, err = qrcode.New(url, qrcode.Highest)
if err != nil {
return err
}
qrCode.DisableBorder = true
bgImg = qrCode.Image(centerImageSize)
这里涉及到两个参数, qrcode.New()中的第一个参数需要传入扫描二维码之后跳转的URL, qrCode.Image()中的centerImageSize是二维码中间图片的大小尺寸,是一个整数值, 该值可