登录
首页 >  Golang >  Go教程

Golang生成二维码保存图片教程

时间:2026-04-14 11:08:33 448浏览 收藏

本文详细介绍了如何使用 Go 语言(Golang)快速、高效地生成并保存高质量二维码图片,依托轻量稳定的 skip2/go-qrcode 库,轻松支持中文内容、四级纠错等级、自定义尺寸(最小推荐256px)、多格式导出(PNG/JPEG),以及灵活的前景色与透明背景设置;通过几行简洁代码即可实现单张生成、颜色定制或批量处理,无需图形界面,纯命令行操作,特别适合自动化场景、服务端集成和开发者的日常效率提升。

如何使用Golang实现二维码生成器_生成并保存二维码图片

用 Go 语言生成并保存二维码图片,核心是借助成熟的第三方库(如 qrcode),几行代码就能完成——无需图形界面,纯命令行即可输出 PNG 或 JPEG 文件。

安装依赖库

推荐使用轻量、稳定、支持中文的 github.com/skip2/go-qrcode

  • 运行命令安装:go get github.com/skip2/go-qrcode
  • 该库基于 QR Code ISO/IEC 18004 标准,支持纠错等级(L/M/Q/H)、自定义尺寸、颜色及文件导出

基础生成与保存示例

以下代码生成内容为 "Hello, 世界" 的二维码,保存为 qrcode.png

package main

import (
    "log"
    "github.com/skip2/go-qrcode"
)

func main() {
    err := qrcode.WriteFile("Hello, 世界", qrcode.Medium, 256, "qrcode.png")
    if err != nil {
        log.Fatal(err)
    }
}
  • qrcode.Medium 表示纠错等级(中等,约15%容错);可选 Low/High/Quartile
  • 256 是输出图片宽高(像素),正方形尺寸,最小建议 256 起以保证清晰度
  • "qrcode.png" 支持 .png.jpg 后缀,自动识别格式

进阶:自定义颜色与透明背景

若需修改前景色(二维码模块)或背景色,可用 qrcode.WriteColorFile

import "image/color"

err := qrcode.WriteColorFile(
    "https://golang.org",
    qrcode.Medium,
    300,
    &color.RGBA{0, 128, 255, 255}, // 前景色:蓝色
    &color.RGBA{255, 255, 255, 0}, // 背景色:完全透明(alpha=0)
    "custom_qr.png",
)
  • 第5个参数为背景色,设为 &color.RGBA{255,255,255,0} 可得透明底 PNG(注意仅 PNG 支持透明)
  • 确保目标路径有写入权限,否则 WriteFile 会返回 permission denied

批量生成与文件名控制

实际应用中常需按内容生成多个二维码,例如从 CSV 或命令行参数读取:

  • flag 包接收输入:go run main.go -text "user-123" -output "user123.png"
  • 循环生成时注意避免文件名冲突,建议对原始文本做简单哈希或编码(如 url.PathEscape
  • 大尺寸(如 1024×1024)时内存占用略增,但普通用途无压力

理论要掌握,实操不能落!以上关于《Golang生成二维码保存图片教程》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>