go-tinyqr

An experimental minimal QR Code generator  http://go-qrcode.appspot.com
git clone https://git.ce9e.org/go-tinyqr.git

commit
0a5d819fd6fdb20a7991bdaec8854bbcf575b08c
parent
6eeeae4c623f8912c01e542e6c325acdae35425f
Author
Christoph Hartmann <chris@lollyrock.com>
Date
2017-12-29 11:54
moves cli output generator to lib. this enables other application to reuse this functionality

Signed-off-by: Christoph Hartmann <chris@lollyrock.com>

Diffstat

M qrcode.go 17 +++++++++++++++++
M qrcode/main.go 20 +-------------------

2 files changed, 18 insertions, 19 deletions


diff --git a/qrcode.go b/qrcode.go

@@ -535,3 +535,20 @@ func (q *QRCode) addPadding() {
  535   535 		log.Panicf("BUG: got len %d, expected %d", q.data.Len(), numDataBits)
  536   536 	}
  537   537 }
   -1   538 
   -1   539 // ToString produces a multi-line string that forms a QR-code image.
   -1   540 func (q *QRCode) ToString(inverseColor bool) string {
   -1   541 	bits := q.Bitmap()
   -1   542 	var buf bytes.Buffer
   -1   543 	for y := range bits {
   -1   544 		for x := range bits[y] {
   -1   545 			if bits[y][x] != inverseColor {
   -1   546 				buf.WriteString("  ")
   -1   547 			} else {
   -1   548 				buf.WriteString("██")
   -1   549 			}
   -1   550 		}
   -1   551 		buf.WriteString("\n")
   -1   552 	}
   -1   553 	return buf.String()
   -1   554 }

diff --git a/qrcode/main.go b/qrcode/main.go

@@ -4,7 +4,6 @@
    4     4 package main
    5     5 
    6     6 import (
    7    -1 	"bytes"
    8     7 	"flag"
    9     8 	"fmt"
   10     9 	"os"
@@ -54,7 +53,7 @@ Usage:
   54    53 	checkError(err)
   55    54 
   56    55 	if *textArt {
   57    -1 		art := qr2String(q, *negative)
   -1    56 		art := q.ToString(*negative)
   58    57 		fmt.Println(art)
   59    58 		return
   60    59 	}
@@ -84,20 +83,3 @@ func checkError(err error) {
   84    83 		os.Exit(1)
   85    84 	}
   86    85 }
   87    -1 
   88    -1 // qr2String produces a multi-line string that forms a QR-code image.
   89    -1 func qr2String(qr *qrcode.QRCode, inverseColor bool) string {
   90    -1 	bits := qr.Bitmap()
   91    -1 	var buf bytes.Buffer
   92    -1 	for y := range bits {
   93    -1 		for x := range bits[y] {
   94    -1 			if bits[y][x] != inverseColor {
   95    -1 				buf.WriteString("  ")
   96    -1 			} else {
   97    -1 				buf.WriteString("██")
   98    -1 			}
   99    -1 		}
  100    -1 		buf.WriteString("\n")
  101    -1 	}
  102    -1 	return buf.String()
  103    -1 }