您的位置 首页 golang

Golang 生成二维码 / 生成海报

  1. 生成二维码 — 引入 barcode 包来生成二维码
 go get -u github.com/boombuler/barcode   
 import (
	" github .com/boombuler/barcode"
	"github.com/boombuler/barcode/qr"
  "os"
)
// qr.Encode ( 编码 内容,容错等级,编码形式)
 qrcode , err := qr.Encode("#34;, qr.H, qr.Auto)
// barcode.Scale() 对二维码进行缩放
qrCode, _ = barcode.Scale(qrCode, 128, 128)
// 将图片写入文件 (如果是生成海报,可暂先不写入文件)
 file , _ := os.Create("qrcode. png ")
png.Encode(file, qrCode)  
  1. 生成海报 — 事先准备好海报的图片
 import (
	"image"
	"image/draw"
	"image/png"
  "os"
)

// 引入海报图片
file, _ := os.Open("poster.png")
// 为了记录,这里就不检测 err 了
img, _, err := image.Decode(file)

// 开始绘制
// image.NewNRGBA(图像的大小) 这里因为要把二维码放在海报上,所以传入海报的大小
posterImg := image.NewNRGBA(img.Bounds())

// draw.Draw(被绘制的图片, 绘制框的大小, 要绘制的图片, 绘制的位置, 绘制类型)
// 先把海报背景画上
draw.Draw(posterImg, posterImg.Bounds(), img, image.Pt(0, 0), draw.Over)
// 再把二维码画上,需要注意的是坐标.
// 这里的 qrCode 就是上面使用 barcode 生成的二维码
draw.Draw(posterImg, posterImg.Bounds(), qrCode, image.Pt(-50, -1020), draw.Over)

// 绘制好后保存到文件中
posterFile, _ := os.Create("02.png")
png.Encode(posterFile, posterImg)  

OK

文章来源:智云一二三科技

文章标题:Golang 生成二维码 / 生成海报

文章地址:https://www.zhihuclub.com/101900.shtml

关于作者: 智云科技

热门文章

网站地图