Help us shape the future of Go! Take the 2026 Go Developer Survey

sealimg

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package sealimg 生成仅供演示与测试的印章图片。

印章上的文字是固定文案:顶部「OFD 测试专用章」、底部「非正式印章」,五角星下方以小字 「zc310/ofd」标识来源。 用途。这样做不是省事,而是必要的——印章图片会被单独复制传播,一旦长得像真章 就可能脱离本仓库流入真实业务。图片自己带着免责声明,比文档里写多少遍 「仅供测试」都管用。

因此本包不提供自定义文案、不做旧做质感、也不试图逼近真实印章的观感:它要 的是一张能替换占位图、让演示与测试截图像模像样,同时一眼看出是测试件的图。

弧形文字沿椭圆弧排布,字宽按字体度量逐字累加到弧长上,而不是把角度均分—— 均分会让字在弧顶挤成一团、在弧两端拉散。椭圆弧长没有初等表达式,用数值积分 求,再二分反解出给定弧长对应的参数。

Index

Constants

This section is empty.

Variables

View Source
var (
	TopText    = textChinese.top
	BottomText = textChinese.bottom
	CenterText = textChinese.center
)

默认文案是中文,保留导出名供调用方与测试直接引用。

Functions

func Render

func Render(opts Options) (*image.RGBA, error)

Render 渲染印章图片,输出透明底的位图。

中文文案需要系统安装覆盖中文的字体;找不到时自动退回英文文案重试,只要求 拉丁字形,让没有中文字体的英文系统也能出图。英文文案同样缺字形时(既没有 中文字体也没有任何拉丁字体)才返回错误并提示用 Options.FontName 指定。

func RenderPNG

func RenderPNG(opts Options) ([]byte, error)

RenderPNG 渲染印章图片并编码为 PNG,供 ofd-seal --generate 与测试 fixture 使用。

Types

type Language

type Language int

Language 是印章文案语言。

const (
	// LanguageAuto 按系统语言环境选择:环境变量指示英文时用英文文案,
	// 其余(含未设置、POSIX)都用中文文案。
	LanguageAuto Language = iota
	// LanguageChinese 强制中文文案。
	LanguageChinese
	// LanguageEnglish 强制英文文案,只要求拉丁字形。
	LanguageEnglish
)

type Options

type Options struct {
	// Width、Height 是输出像素;任一为 0 时用 512。椭圆印章可以宽高不等。
	Width, Height int
	// FontName 是字体家族名。留空时按内置候选顺序取第一个覆盖中文的系统字体。
	FontName string
	// Shape 是外框形状,默认圆形。
	Shape Shape
	// Language 是文案语言,默认按系统语言环境自动选择。
	Language Language
}

Options 控制印章图片的输出。

type Shape

type Shape int

Shape 是印章外框形状。

const (
	// ShapeCircle 是圆形印章,正圆。
	ShapeCircle Shape = iota
	// ShapeEllipse 是椭圆印章,允许宽高不等。
	ShapeEllipse
)

Jump to

Keyboard shortcuts

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