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)
}
运行结果