当前位置: 首页 > news >正文

使用go生成、识别二维码

1、下载

# 创建目录
# 进入目录
# 执行 go mod init xxx 命令(即:在当前目录初始化创建一个模块)# 下载gozxing
go get github.com/makiuchi-d/gozxing

2、生成二维码

package mainimport ("image/png""os""github.com/makiuchi-d/gozxing""github.com/makiuchi-d/gozxing/oned""github.com/makiuchi-d/gozxing/qrcode"
)func main() {// writeBarcode()writeQrcode()
}// 条形码
func writeBarcode() {// Generate a barcode image (*BitMatrix)writer := oned.NewCode128Writer()img, _ := writer.Encode("content: bar code", gozxing.BarcodeFormat_CODE_128, 100, 50, nil)file, _ := os.Create("barcode.png")defer file.Close()png.Encode(file, img)
}// 二维码
func writeQrcode() {// Generate a qrcode image (*BitMatrix)writer := qrcode.NewQRCodeWriter()img, _ := writer.Encode("content: qr code", gozxing.BarcodeFormat_QR_CODE, 100, 100, nil)file, _ := os.Create("qrcode.png")defer file.Close()png.Encode(file, img)
}

3、识别二维码

package mainimport ("fmt""image"_ "image/png""os""github.com/makiuchi-d/gozxing""github.com/makiuchi-d/gozxing/oned""github.com/makiuchi-d/gozxing/qrcode"
)func main() {// readBarcode()readQrcode()
}// 条形码
func readBarcode() {// open and decode image filefile, _ := os.Open("barcode.png")img, _, _ := image.Decode(file)// prepare BinaryBitmapbmp, _ := gozxing.NewBinaryBitmapFromImage(img)// decode imagereader := oned.NewCode128Reader()result, _ := reader.Decode(bmp, nil)fmt.Println(result)
}// 二维码
func readQrcode() {// open and decode image filefile, _ := os.Open("qrcode.png")img, _, _ := image.Decode(file)// prepare BinaryBitmapbmp, _ := gozxing.NewBinaryBitmapFromImage(img)// decode imagereader := qrcode.NewQRCodeReader()result, _ := reader.Decode(bmp, nil)fmt.Println(result)
}

详见:

https://pkg.go.dev/search?q=qrcode

GitHub - makiuchi-d/gozxing: Port of ZXing (https://github.com/zxing/zxing) core to pure Go.

http://www.lryc.cn/news/500744.html

相关文章:

  • LLama系列模型简要概述
  • 2022 年“泰迪杯”数据分析技能赛A 题竞赛作品的自动评判
  • MYSQL表联接算法深入研究
  • markdown中画图功能mermaid
  • SCI论文丨机器学习与深度学习论文
  • linux系统编程(二)
  • uni-app登录界面样式
  • windows C#-定义抽象属性
  • ERROR: KeeperErrorCode = NoNode for /hbase/master
  • Deepin 23 踩坑记
  • mysql笔记——索引
  • 考研数据结构——简答题总结
  • Qt Creator 里面设置MSVC 为 utf-8
  • Java阶段三06
  • Helm安装Mysql8主从复制集群
  • 嵌入式基础:Linux C语言:Day7
  • Tablesaw封装Plot.ly实现数据可视化
  • RAG与Embedding:现代NLP的核心技术
  • 力扣每日一题 - 1812. 判断国际象棋棋盘中一个格子的颜色
  • Map 那些事儿
  • GCP Case:MountKirk Games
  • [创业之路-187]:《华为战略管理法-DSTE实战体系》-1-从UTStarcom的发展历程,如何辩证的看企业初期发展太顺利中的危机
  • 高级数据结构-树状数组
  • LeetCode279. 完全平方数(2024冬季每日一题 27)
  • Scala 隐式转换
  • K8S命令部署后端(流水线全自动化部署)
  • Ubuntu中配置交叉编译工具的三条命令的详细研究
  • 【PyQt5教程 二】Qt Designer 信号与槽的使用方法及PyQt5基本小部件说明
  • 编程语言中接口(Interface)介绍
  • 算法学习之贪心算法