split big chunk of data to write to printer
This commit is contained in:
19
img.go
19
img.go
@@ -22,8 +22,6 @@ import (
|
||||
"golang.org/x/net/html"
|
||||
|
||||
"encoding/json"
|
||||
|
||||
"github.com/kenshaw/escpos"
|
||||
)
|
||||
import (
|
||||
"log"
|
||||
@@ -377,30 +375,25 @@ func findNode(n *html.Node, tag string) *html.Node {
|
||||
return nil
|
||||
}
|
||||
|
||||
func printImg(prt *escpos.Escpos, imgPath string) error {
|
||||
func imgData(imgPath string) ([]byte, error) {
|
||||
imgFile, err := os.Open(imgPath)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
img, _, err := image.Decode(imgFile)
|
||||
defer imgFile.Close()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
data := []byte{0x1D, 0x4C, 0x00, 0x00}
|
||||
_, err = prt.WriteRaw(data)
|
||||
if err != nil {
|
||||
fmt.Println("error 0x1D, 0x4C:", err.Error())
|
||||
}
|
||||
|
||||
gray := toMonochrome(img)
|
||||
data = escposRaster(gray)
|
||||
|
||||
_, err = prt.WriteRaw(data)
|
||||
return err
|
||||
imgData := escposRaster(gray)
|
||||
data = append(data, imgData...)
|
||||
return data, err
|
||||
}
|
||||
|
||||
func LoadFont(size float64) (*font.Face, error) {
|
||||
|
||||
Reference in New Issue
Block a user