52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
package controller
|
|
|
|
import (
|
|
"encoding/base64"
|
|
// "image"
|
|
// "image/color"
|
|
|
|
"github.com/skip2/go-qrcode"
|
|
)
|
|
|
|
func GenerateQRCode(data string) (string, error) {
|
|
imgBytes, err := qrcode.Encode(data, qrcode.Medium, 256)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
base64Img := base64.StdEncoding.EncodeToString(imgBytes)
|
|
return base64Img, nil
|
|
}
|
|
|
|
// vvv DEPRECATED vvv
|
|
// const margin = 4
|
|
//
|
|
// type QRCodeECCLevel int64
|
|
// const (
|
|
// LOW QRCodeECCLevel = iota
|
|
// MEDIUM
|
|
// QUARTILE
|
|
// HIGH
|
|
// )
|
|
//
|
|
// func drawLargeAlignmentSquare(x int, y int, img *image.Gray) {
|
|
// for yi := range 7 {
|
|
// for xi := range 7 {
|
|
// if (xi == 0 || xi == 6) || (yi == 0 || yi == 6) {
|
|
// img.Set(x + xi, y + yi, color.Black)
|
|
// } else if (xi > 1 && xi < 5) && (yi > 1 && yi < 5) {
|
|
// img.Set(x + xi, y + yi, color.Black)
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// func drawSmallAlignmentSquare(x int, y int, img *image.Gray) {
|
|
// for yi := range 5 {
|
|
// for xi := range 5 {
|
|
// if (xi == 0 || xi == 4) || (yi == 0 || yi == 4) {
|
|
// img.Set(x + xi, y + yi, color.Black)
|
|
// }
|
|
// }
|
|
// }
|
|
// img.Set(x + 2, y + 2, color.Black)
|
|
// }
|