base1dcode.go 703 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package utils
  2. import (
  3. "github.com/boombuler/barcode"
  4. "image"
  5. "image/color"
  6. )
  7. type base1DCode struct {
  8. *BitList
  9. kind string
  10. content string
  11. }
  12. func (c *base1DCode) Content() string {
  13. return c.content
  14. }
  15. func (c *base1DCode) Metadata() barcode.Metadata {
  16. return barcode.Metadata{c.kind, 1}
  17. }
  18. func (c *base1DCode) ColorModel() color.Model {
  19. return color.Gray16Model
  20. }
  21. func (c *base1DCode) Bounds() image.Rectangle {
  22. return image.Rect(0, 0, c.Len(), 1)
  23. }
  24. func (c *base1DCode) At(x, y int) color.Color {
  25. if c.GetBit(x) {
  26. return color.Black
  27. }
  28. return color.White
  29. }
  30. func New1DCode(codeKind, content string, bars *BitList) barcode.Barcode {
  31. return &base1DCode{bars, codeKind, content}
  32. }