Golang生成、识别二维码与条形码
·
文章目录
一、生成二维码
1.1 skip2/go-qrcode生成二维码
github官方地址:https://github.com/skip2/go-qrcode
-
安装
go get -u -v github.com/skip2/go-qrcode
-
代码实现
package main import ( "fmt" "github.com/skip2/go-qrcode" ) func main() { err := qrcode.WriteFile("https://blog.csdn.net/weixin_36162966", qrcode.Medium, 256, "qr1.png") if err!=nil{ fmt.Println("生成二维码错误 error:",err) } }
-
效果
1.2 boombuler/barcode生成二维码
github官方地址:https://github.com/boombuler/barcode
-
安装
go get -u -v github.com/boombuler/barcode
-
代码实现
package main import ( "image/png" "os" "github.com/boombuler/barcode" "github.com/boombuler/barcode/qr" ) func main() { // 创建barcode qrCode, _ := qr.Encode("https://blog.csdn.net/weixin_36162966", qr.M, qr.Auto) // 设置图片像素大小 qrCode, _ = barcode.Scale(qrCode, 256, 256) // 创建一个要输出数据的文件 file, _ := os.Create("qr2.png") defer file.Close() // 将二维码编码为png图片 png.Encode(file, qrCode) }
-
效果
二、生成条形码
github官方地址:https://github.com/boombuler/barcode
2.1 boombuler/barcode生成条形码
-
安装
go get -u -v github.com/boombuler/barcode
-
代码实现
package main import ( "github.com/boombuler/barcode" "github.com/boombuler/barcode/code128" "image/png" "os" ) func main() { // 创建一个code128编码的 BarcodeIntCS cs, _ := code128.Encode("123456") // 创建一个要输出数据的文件 file, _ := os.Create("qr3.png") defer file.Close() // 设置图片像素大小 qrCode, _ := barcode.Scale(cs, 350, 70) // 将code128的条形码编码为png图片 png.Encode(file,qrCode) }
-
效果
三、识别二维码
3.1 tuotoo/qrcode识别二维码
-
安装
go get -u -v github.com/tuotoo/qrcode
-
代码实现
package main import ( "fmt" "github.com/tuotoo/qrcode" "os" ) func main() { fi, err := os.Open("qr1.png") if err != nil { fmt.Println(err) return } defer fi.Close() qrmatrix, err := qrcode.Decode(fi) if err != nil { fmt.Println(err) return } fmt.Println(qrmatrix.Content) }
-
效果
识别qr1.png
得到https://blog.csdn.net/weixin_
,失败
识别qr2.png
得到https://blog.csdn.net/weixin_36162966
,成功
-
注意
两种库生成的二维码都是可以微信扫码打开成功的,说明tuotoo/qrcode库
还是有一定的bug,请大家谨慎使用。
更多推荐
已为社区贡献3条内容
所有评论(0)