Go语言读写条形码

574499439 · · 815 次点击 · · 开始浏览    

```go package main import ( "image/png" "os" "github.com/makiuchi-d/gozxing" "github.com/makiuchi-d/gozxing/oned" "fmt" ) func encode(content, savePath string, width, height int) error { enc := oned.NewCode128Writer() img, err := enc.Encode(content, gozxing.BarcodeFormat_CODE_128, width, height, nil) if err != nil { return err } file, err := os.Create(savePath) if err != nil { return err } defer file.Close() return png.Encode(file, img) } func decode(file string) (content string, err error) { f, err := os.Open(file) if err != nil { return content, err } img, err := png.Decode(f) if err != nil { return content, err } dec := oned.NewCode128Reader() i, err := gozxing.NewBinaryBitmapFromImage(img) if err != nil { return content, err } r, err := dec.DecodeWithoutHints(i) if err != nil { return content, err } return r.String(), err } func main() { file := "barcode.png" if err := encode("barcode", file, 120, 60); err != nil { fmt.Println("encode error:", err) return } fmt.Println("encode success!") content, err := decode(file) if err != nil { fmt.Println("decode error:", err) return } fmt.Println(content) } ```

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

815 次点击  ∙  2 赞  
加入收藏 微博
1 回复  |  直到 2022-05-23 16:39:18
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传