🎉 Initial commit
This commit is contained in:
83
examples/02_styles_and_themes.go
Normal file
83
examples/02_styles_and_themes.go
Normal file
@@ -0,0 +1,83 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
|
||||
"github.com/landaiqing/go-pixelnebula"
|
||||
"github.com/landaiqing/go-pixelnebula/style"
|
||||
)
|
||||
|
||||
// 风格和主题示例
|
||||
// 展示如何使用不同的风格和主题生成多个头像
|
||||
func main() {
|
||||
// 创建一个新的PixelNebula实例
|
||||
pn := pixelnebula.NewPixelNebula()
|
||||
|
||||
// 定义要展示的风格数组
|
||||
styles := []style.StyleType{
|
||||
style.AteamStyle,
|
||||
style.GirlStyle,
|
||||
style.CountryStyle,
|
||||
style.GeeknotStyle,
|
||||
style.PunkStyle,
|
||||
// 可以添加更多内置风格
|
||||
}
|
||||
|
||||
// 为每种风格生成不同主题的头像
|
||||
for styleIndex, styleType := range styles {
|
||||
// 设置当前风格
|
||||
pn.WithStyle(styleType)
|
||||
|
||||
// 获取风格名称用于文件命名
|
||||
var styleName string
|
||||
switch styleType {
|
||||
case style.AteamStyle:
|
||||
styleName = "ateam"
|
||||
case style.GirlStyle:
|
||||
styleName = "girl"
|
||||
case style.CountryStyle:
|
||||
styleName = "country"
|
||||
case style.GeeknotStyle:
|
||||
styleName = "geeknot"
|
||||
case style.PunkStyle:
|
||||
styleName = "punk"
|
||||
default:
|
||||
styleName = "unknown"
|
||||
}
|
||||
|
||||
// 对每种风格,生成3个不同主题的头像
|
||||
for themeIndex := 0; themeIndex < 3; themeIndex++ {
|
||||
// 设置主题
|
||||
pn.WithTheme(themeIndex)
|
||||
|
||||
// 设置尺寸
|
||||
pn.WithSize(200, 200)
|
||||
|
||||
// 生成唯一ID - 这里使用风格和主题索引组合
|
||||
uniqueID := "style-" + strconv.Itoa(styleIndex) + "-theme-" + strconv.Itoa(themeIndex)
|
||||
|
||||
// 生成SVG
|
||||
svg, err := pn.Generate(uniqueID, false).ToSVG()
|
||||
if err != nil {
|
||||
fmt.Printf("生成风格%s主题%d的SVG失败: %v\n", styleName, themeIndex, err)
|
||||
continue
|
||||
}
|
||||
|
||||
// 文件名
|
||||
filename := fmt.Sprintf("%s_theme_%d.svg", styleName, themeIndex)
|
||||
|
||||
// 保存到文件
|
||||
err = os.WriteFile(filename, []byte(svg), 0644)
|
||||
if err != nil {
|
||||
fmt.Printf("保存文件%s失败: %v\n", filename, err)
|
||||
continue
|
||||
}
|
||||
|
||||
fmt.Printf("成功生成头像: %s\n", filename)
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println("所有风格和主题头像生成完成!")
|
||||
}
|
Reference in New Issue
Block a user