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 }