2021-08-09 12:38:41

golang 二维码

二维码生成库

https://github.com/skip2/go-qrcode

基本使用

最简单的使用方式,直接生成二维码图片。

  • 新建目录 qr
  • 新建 main.go文件
  • 初始化项目 go mod init
  • 复制以下代码
  • 下载依赖 go mod tidy
  • 执行代码,查看结果 go run main.go

代码

package main

import (
	"log"

	"github.com/skip2/go-qrcode"
)

func main() {
	err := qrcode.WriteFile("https://blog.zxysilent.com/post/golang-qrcode.html", qrcode.Medium, 256, "qr.png")
	if err != nil {
		log.Println(err)
	}
}

步骤截图

image.png

效果

image.png

自定义

设置边距,背景色,前景色等

代码

package main

import (
	"image/color"
	"log"

	"github.com/skip2/go-qrcode"
)

func main() {
	fname := "qr.png"
	q, err := qrcode.New("https://blog.zxysilent.com/post/golang-qrcode.html", qrcode.Medium)
	if err != nil {
		log.Println("二维码生成失败", err.Error())
		return
	}
	// 减小边距
	q.DisableBorder = true
	// 前景色
	q.ForegroundColor = color.RGBA{R: 0xFF, G: 0x57, B: 0x22, A: 0xFF}
	// 背景色
	q.BackgroundColor = color.RGBA{R: 0xF5, G: 0xF5, B: 0xF5, A: 0xFF}
	err = q.WriteFile(256, fname)
	if err != nil {
		log.Println("二维码生成失败", err.Error())
	}
}

效果

image.png

本文链接:https://blog.zxysilent.com/post/golang-qrcode.html

-- EOF --

Comments