美文网首页
golang生成二维码

golang生成二维码

作者: 渣渣曦 | 来源:发表于2018-12-30 08:52 被阅读0次

    生成二维码我们需要使用到github的一个库,我们设置好GOPATH环境变量后,使用 go get github.com/boombuler/barcode 命令下载该库,在main.go中填写如下代码:

    package main
    
    import (
        "github.com/boombuler/barcode"
        "github.com/boombuler/barcode/qr"
        "image"
        "image/png"
        "log"
        "os"
    )
    
    func writePng(filename string, img image.Image) {
        file, err := os.Create(filename)
        if err != nil {
            log.Fatal(err)
        }
        err = png.Encode(file, img)
        // err = jpeg.Encode(file, img, &jpeg.Options{100})      //图像质量值为100,是最好的图像显示  
        if err != nil {
            log.Fatal(err)
        }
        file.Close()
        log.Println(file.Name())
    }
    
    func main() {
        base64 := "123456"
        log.Println("Original data:", base64)
        code, err := qr.Encode(base64, qr.L, qr.Unicode)
        // code, err := code39.Encode(base64)
        if err != nil {
            log.Fatal(err)
        }
        log.Println("Encoded data: ", code.Content())
    
        if base64 != code.Content() {
            log.Fatal("data differs")
        }
    
        code, err = barcode.Scale(code, 300, 300)
        if err != nil {
            log.Fatal(err)
        }
    
        writePng("test.png", code)
    }
    

    运行程序后,在同目录下生成 test.png 的图像文件,打开后结果如下:


    image.png

    相关文章

      网友评论

          本文标题:golang生成二维码

          本文链接:https://www.haomeiwen.com/subject/romslqtx.html