- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
Go语言实现新春祝福二维码的生成
目录前言简单二维码生成字节流二维码识别二维码
前言
二维码现在是随处度可以看到,买东西,支付,添加好友只要你扫一扫就能完成整个工作,简单且方便。所以利用这个新春佳节做一个带着新春祝福的二维码。
简单二维码生成
Go有一个go-qrCode库可以很简单的完成该项功能。首先需要下载该包。
goget/skip2/go-qrcode
下载完之后就可以简单创建一个Go项目。
funcmain(){
qrcode.WriteFile(新年快乐,qrcode.Medium,256,./bestWish.png)
qrcode.WriteColorFile(新年快乐,qrcode.Medium,256,color.RGBA{50,205,50,255},color.White,./bestWish.png)
}
简单实用上面的代码,就可以生成一个二维码图片,然后用手机扫一扫就能看到内容。第二个方法可以生成一个带有彩色背景的二维码。
funcWriteFile(contentstring,levelRecoveryLevel,sizeint,filenamestring)error{
varq*QRCode
q,err:=New(content,level)
iferr!=nil{
returnerr
returnq.WriteFile(size,filename)
}
用WriteFile/WriteColorFile函数就能完成二维码生成,其中有4个参数:
content生成二维码的内容,可以是任意字符串level是二维码容错级别:有四个等级Low、Medium、High、Highest。size是生成图片的宽和高,像素单位filename生成二维码文件的路径background背景色,foreground前景色
字节流二维码
在一些场景中可能不想直接生成图片进行存储或者在网络上传输时使用字节流可以更加方便且高效,所以可以使用Encode函数生成一个图片字节流。
funcEncode(contentstring,levelRecoveryLevel,sizeint)([]byte,error)
所以生成一个二维码其实很简单,直接使用第三方库go-qrcode就可以完成简单的二维码生成。其也支持对它设置背景色和前景色。在一些网络传输可以使用生成二维码字节流进行传输,也可以使用字节流进行存储可以节省空间。
识别二维码
golang可以生成二维码自然也可以识别二维码。可以使用库/tuotoo/qrcode。识别二维码原理就是打开一张图片,然后使用Decode方法对图片进行解析,这样就可以解析出来二维码中content内容。
fi,err:=os.Open(bestWish.png)
iferr!=nil{
deferfi.Close()
qrmatrix,err:=qrcode.Decode(fi)//解析
iferr!=nil{
fmt.Println(qrmatrix.Content)//输出content内容
新春二维码很简单的完成。于是新年家族活动中通过设置了几个随机内容,类似刮奖,然后一个人随机生成一个二维码,看谁扫出最终结果就胜利的游戏。一个简单的新春游戏就诞生啦。
文档评论(0)