vision/qrcode.go

32 lines
639 B
Go

package vision
import (
"github.com/skip2/go-qrcode"
"github.com/fogleman/gg"
)
// GenerateQRCode 生成一个包含二维码的画布
func GenerateQRCode(content string, size int) (*Canvas, error) {
q, err := qrcode.New(content, qrcode.Medium)
if err != nil {
return nil, err
}
img := q.Image(size)
return &Canvas{
dc: gg.NewContextForImage(img),
}, nil
}
// PutQRCode 在当前画布指定位置绘制二维码
func (c *Canvas) PutQRCode(content string, x, y, size int) error {
q, err := qrcode.New(content, qrcode.Medium)
if err != nil {
return err
}
img := q.Image(size)
c.dc.DrawImage(img, x, y)
return nil
}