qr.go 665 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package qr
  2. import (
  3. "fmt"
  4. "image"
  5. "log"
  6. "os"
  7. "path/filepath"
  8. "github.com/skip2/go-qrcode"
  9. )
  10. // RenderString as a QR code
  11. func RenderString(s string) {
  12. q, err := qrcode.New(s, qrcode.Medium)
  13. if err != nil {
  14. log.Fatal(err)
  15. }
  16. fmt.Println(q.ToSmallString(false))
  17. dir, err1 := filepath.Abs(filepath.Dir(os.Args[0]))
  18. if err1 != nil {
  19. log.Fatal(err1)
  20. }
  21. err2 := qrcode.WriteFile(s, qrcode.Medium, 200, dir + "/tmp.png")
  22. if err2 != nil {
  23. panic(err2)
  24. }
  25. }
  26. // RenderImage returns a QR code as an image.Image
  27. func RenderImage(s string) image.Image {
  28. q, err := qrcode.New(s, qrcode.Medium)
  29. if err != nil {
  30. log.Fatal(err)
  31. }
  32. return q.Image(256)
  33. }