Go语言实现新春祝福二维码的生成

目录
  • 前言
  • 简单二维码生成
  • 字节流二维码
  • 识别二维码

前言

二维码现在是随处度可以看到,买东西,支付,添加好友只要你扫一扫就能完成整个工作,简单且方便。所以利用这个新春佳节做一个带着新春祝福的二维码。

简单二维码生成

Go 有一个 go-qrCode 库可以很简单的完成该项功能。首先需要下载该包。

go get github.com/skip2/go-qrcode

下载完之后就可以简单创建一个 Go项目。

func main(){
   qrcode.WriteFile("新年快乐", qrcode.Medium, 256, "./bestWish.png")

  qrcode.WriteColorFile("新年快乐", qrcode.Medium, 256, color.RGBA{50, 205, 50, 255}, color.White, "./bestWish.png")
}

简单实用上面的代码,就可以生成一个二维码图片,然后用手机扫一扫就能看到内容。第二个方法可以生成一个带有彩色背景的二维码。

func WriteFile(content string, level RecoveryLevel, size int, filename string) error {
	var q *QRCode

	q, err := New(content, level)

	if err != nil {
		return err
	}

	return q.WriteFile(size, filename)
}

用 WriteFile / WriteColorFile 函数就能完成二维码生成,其中有4个参数:

  • content 生成二维码的内容,可以是任意字符串
  • level 是二维码容错级别:有四个等级Low、Medium、High、Highest。
  • size 是生成图片的宽和高,像素单位
  • filename 生成二维码文件的路径
  • background 背景色 ,foreground 前景色

字节流二维码

在一些场景中可能不想直接生成图片进行存储或者在网络上传输时使用字节流可以更加方便且高效,所以可以使用 Encode 函数生成一个图片字节流。

func Encode(content string, level RecoveryLevel, size int) ([]byte, error)

所以生成一个二维码其实很简单,直接使用第三方库go-qrcode 就可以完成简单的二维码生成。其也支持对它设置背景色和前景色。在一些网络传输可以使用生成二维码字节流进行传输,也可以使用字节流进行存储可以节省空间。

识别二维码

golang 可以生成二维码自然也可以识别二维码。可以使用库 github.com/tuotoo/qrcode。识别二维码原理就是打开一张图片,然后使用 Decode方法对图片进行解析,这样就可以解析出来二维码中 content 内容。

fi, err := os.Open("bestWish.png")
   if err != nil {
     ...
    }
defer fi.Close()
qrmatrix, err := qrcode.Decode(fi) // 解析
    if err != nil {
     ...
    }
fmt.Println(qrmatrix.Content) // 输出 content 内容

新春二维码很简单的完成。于是新年家族活动中通过设置了几个随机内容,类似刮奖,然后一个人随机生成一个二维码,看谁扫出最终结果就胜利的游戏。一个简单的新春游戏就诞生啦。

到此这篇关于Go语言实现新春祝福二维码的生成的文章就介绍到这了,更多相关Go语言生成祝福二维码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • golang 生成二维码海报的实现代码

    生成带头像的二维码 import ( "errors" "fmt" "github.com/nfnt/resize" "github.com/skip2/go-qrcode" "image" "image/draw" "image/png" "os" ) var err error func createAvatar() (image.Image,

  • go语言编程二维码生成及识别

    目录 安装 go-qrcode 生成普通二维码 生成有前后背景颜色的二维码 识别二维码 我们在做go web开发的时候,应该都遇到生成二维码分享的应用场景,下面我将介绍下使用go如何生成二维码. 安装 go-qrcode 我们不得不庆幸go的生态已经越来越丰富,有很多大牛已经帮我们写好了库,我们不必造轮子,直接拿过来用就好. 首先,我们安装我们用到的go-qrcode库. https://github.com/skip2/go-qrcode/ go get -u github.com/skip2

  • Go语言实现新春祝福二维码的生成

    目录 前言 简单二维码生成 字节流二维码 识别二维码 前言 二维码现在是随处度可以看到,买东西,支付,添加好友只要你扫一扫就能完成整个工作,简单且方便.所以利用这个新春佳节做一个带着新春祝福的二维码. 简单二维码生成 Go 有一个 go-qrCode 库可以很简单的完成该项功能.首先需要下载该包. go get github.com/skip2/go-qrcode 下载完之后就可以简单创建一个 Go项目. func main(){ qrcode.WriteFile("新年快乐", qr

  • IOS笔记061之二维码的生成和扫描

    如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影.而手机等移动设备又成为二维码的一个很好的应用平台,不管是生成二维码还是扫码二维码.本篇文章从生成二维码.扫描二维码展开分析,通过内容分析二维码用起来也很easy了. 首先说下生成二维码 二维码可以存放纯文本.名片或者URL 其次生成二维码的步骤: 导入CoreImage框架 再次通过滤镜CIFilter生成二维码 1.创建过滤器 2.恢复滤镜的默认属性 3.设置内容 4.获取输出文件 5.显示二维码 代码实现 CoreImage

  • 二维码的生成细节和原理

    二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等.这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下.供好学的人一同学习之. 关于QR Code Specification,可参看这个PDF:http://raidenii.net/files/datasheets/misc/qr_c

  • Android基于google Zxing实现二维码的生成

    最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中.   下面来介绍这个Demo的主类 public class BarCodeTestActivity extends Activity { priv

  • iOS二维码的生成代码

    本文实例为大家分享了iOS二维码的生成代码,供大家参考,具体内容如下 一.工程图. 二.代码. ViewController.m #import "ViewController.h" #import "ScanViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // D

  • iOS二维码的生成和扫描

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 属性 @property (strong,nonatomic)AVCaptureDevice * device; @property (strong,nonatomic)AVCaptureDeviceInput * input; @property (strong,nonatomic)AVCaptureMetadataOutput * output; @property (strong,nonatomic)AV

  • 基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作

    在很多项目里面,对条形码和二维码的生成和打印也是一种很常见的操作,在Web项目里面,我们可以利用JS生成条形码和二维码的组件有很多.本文引入两个比较广泛使用的JS组件,用来处理条形码和二维码的生成处理,并介绍如何利用CLODOP组件实现内容的打印输出. 生成条形码使用组件JsBarcode,生成二维码使用组件qrcodejs. 1.条形码的生成 条码的作用一般在一些商品标签上,方便使用条码枪快速.准确录入信息. 如下所示是一种条形码 这里条形码生成使用了JsBarcode组件进行处理,它支持很多

  • Android编程实现二维码的生成与解析

    本文实例讲述了Android编程实现二维码的生成与解析.分享给大家供大家参考,具体如下: 直接上代码,代码上面有具体的解析,并且提供jar供下载:二维码Jar包.rar. 根据文本生成对应的二维码: // 生成QR图 private void createImage() { try { // 需要引入core包 QRCodeWriter writer = new QRCodeWriter(); String text = qr_text.getText().toString(); Log.i(T

  • 基于canvas的二维码邀请函生成插件

    这是17年的第一篇博文,话说这天又是产品同学跑过来问我说:hi,lenny,你看现在市面上流行各种装逼H5,随便输入点名字啥的就给我生成房产证了,这种还可以分享出去,传播率可高了,或者你再看这里,一键生成邀请函,牛逼吧,要不你也帮我做一个这个功能,我去玩点传播手段. 我看见效果后第一反映就是,肯定canvas进行的图片拼接,现在市面上流行的效果具体是如何实现的我没有去看源码,思路很清晰,于是晚饭后没有下班,开始我的插件制作之旅了. 首先,我们需要思考,既然是图片处理,那么就必然存在图片下载,我们

  • unityZXing二维码的生成与扫描

    本文实例为大家分享了unityZXing二维码生成与扫描的具体代码,供大家参考,具体内容如下 借鉴自某位大佬不记得了 using System.Collections; using System.Collections.Generic; using UnityEngine; using ZXing; using UnityEngine.UI; /// <summary> /// 二维码扫描识别功能 /// </summary> public class TestQRCodeScan

随机推荐