qrcode

package
v0.0.0-...-1f453bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

README

二维码

简介:

  1. 基于go-qrcode的二次包装依赖以下三方包
    1. github.com/skip2/go-qrcode
    2. github.com/nfnt/resize
  2. 支持二维码图片设置大小
  3. 支持二维码嵌入logo
  4. 支持二维码设置颜色(以图片为)
  5. 支持二维码嵌入海报
  6. 支持二维码相对logo或海报设置偏移位置:0 自定义, 1 居中, 2 最左上, 3 最右上, 4 最右下, 5 最左下, 6 最上居中, 7 最右居中, 8 最下居中, 9 最左居中, 10 最右偏移, 11 最下偏移

示例:

查看示例代码

二维码 二维码 logo二维码 彩色二维码 海报二维码

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type QRCode

type QRCode struct {
	// contains filtered or unexported fields
}
Example
package main

import (
	"fmt"
	"github.com/Is999/go-code-snippets/qrcode"
	"image/color"
	"net/http"
)

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		// 实例QRCode
		qr := qrcode.NewQRCode("https://github.com/Is999")

		// 设置相关参数
		qr.SetSize(72)                                                   // 设置图片大小
		qr.SetBackgroundColor(color.RGBA{R: 255, G: 215, B: 0, A: 255}). // 设置背景颜色
											SetForegroundColor(color.RGBA{R: 55, G: 245, B: 105, A: 255}) // 设置前景颜色
		qr.SetRecoveryLevel(2) // 设置容错级别

		// 创建二维码图片
		err := qr.CreateQrCode()
		if err != nil {
			fmt.Println("创建二维码识失败:", err.Error())
		}

		//// 给二维码填充色彩
		err = qr.FillColor("../images/color.png", 0, true)
		if err != nil {
			fmt.Println("给二维码填充色彩失败:", err.Error())
		}

		// 创建带logo的二维码
		err = qr.CreateAvatar("../images/logo.png", 20, 20, false)
		if err != nil {
			fmt.Println("创建带logo的二维码失败:", err.Error())
		}

		// 设置二维码边框
		err = qr.SetBorder(8, color.RGBA{R: 235, G: 255, B: 215, A: 255})
		if err != nil {
			fmt.Println("设置二维码边框失败:", err.Error())
		}

		//// 二维码与海报合成
		qr.SetHorizontal(11). // 设置偏移位置
					SetOffsetX(129) // 设置图片X轴方向偏移量
		err = qr.CreateAvatar("../images/new-year-poster.png", 338, 521, true)
		if err != nil {
			fmt.Println("二维码与海报合成失败:", err.Error())
		}

		// 显示图片
		err = qr.View(w)
		if err != nil {
			fmt.Println("显示图片失败:", err.Error())
		}
	})
}

func NewQRCode

func NewQRCode(content string) *QRCode

func (*QRCode) CreateAvatar

func (q *QRCode) CreateAvatar(imgPath string, width, height uint, isBgImg bool) error

CreateAvatar 创建一个带LOGO的二维码

func (*QRCode) CreateQrCode

func (q *QRCode) CreateQrCode() error

CreateQrCode 创建二维码

func (*QRCode) FillColor

func (q *QRCode) FillColor(imgPath string, borderSize uint8, isFillBg bool) error

FillColor 填充二维码颜色

func (*QRCode) SetBackgroundColor

func (q *QRCode) SetBackgroundColor(backgroundColor color.RGBA) *QRCode

SetBackgroundColor 背景颜色

func (*QRCode) SetBorder

func (q *QRCode) SetBorder(size uint8, colors ...color.Color) error

SetBorder 给二维码添加边框 size 自定义边框大小 color 背景色: 白色 color.RGBA{R: 255, G: 255, B: 255, A: 255}

func (*QRCode) SetContent

func (q *QRCode) SetContent(content string) *QRCode

SetContent 二维码内容

func (*QRCode) SetForegroundColor

func (q *QRCode) SetForegroundColor(foregroundColor color.RGBA) *QRCode

SetForegroundColor 前景颜色

func (*QRCode) SetHorizontal

func (q *QRCode) SetHorizontal(horizontal uint8) *QRCode

SetHorizontal 设置图片偏移量(偏移方式): 0自定义, 1居中, 2最左上, 3最右上, 4最右下, 5最左下, 6最上居中, 7最右居中, 8最下居中, 9最左居中, 10最右偏移, 11最下偏移

func (*QRCode) SetOffsetX

func (q *QRCode) SetOffsetX(offsetX int) *QRCode

SetOffsetX 设置图片X轴方向偏移量:Horizontal为[0,11], 此设置生效, 否则不生效

func (*QRCode) SetOffsetY

func (q *QRCode) SetOffsetY(offsetY int) *QRCode

SetOffsetY 设置图片Y轴方向偏移量:Horizontal为[0,10], 此设置生效, 否则不生效

func (*QRCode) SetRecoveryLevel

func (q *QRCode) SetRecoveryLevel(recoveryLevel uint8) *QRCode

SetRecoveryLevel 容错级别 0-3:从低到高分别对应 Low 7%,Medium 15%,High 25%, Highest 30%

func (*QRCode) SetSize

func (q *QRCode) SetSize(size int) *QRCode

SetSize 二维码大小

func (*QRCode) View

func (q *QRCode) View(writer io.Writer) error

View 展示二维码图片

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL