GO生成二维码代码

package main

import (
	"fmt"
	"github.com/boombuler/barcode"
	"github.com/boombuler/barcode/qr"
	"github.com/tuotoo/qrcode"
	"image/png"
	"os"
)

func GenerateQrCode(fileName, content string, w, h int)  {
	qrCode, err := qr.Encode(content, qr.M,qr.Auto)
	if err != nil {
		fmt.Println(err)
	}
	qrCode, err = barcode.Scale(qrCode, w, h)
	if err != nil {
		fmt.Println(err)
		return
	}
	file, err := os.Create(fileName)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()

	png.Encode(file, qrCode)

}

func DecodeQrCode(fileName string)  {
	file, err := os.Open(fileName)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()
	decode, err := qrcode.Decode(file)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(decode.Content)
}

func main()  {
	fileName := "title.png"
	GenerateQrCode(fileName, "自动生成二维码", 256, 256)
	DecodeQrCode(fileName)
}

运行结果

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐