feat: 支持换行
This commit is contained in:
parent
c13b7f2068
commit
abd9531fb0
@ -2,6 +2,7 @@ package xibao
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/fogleman/gg"
|
"github.com/fogleman/gg"
|
||||||
)
|
)
|
||||||
@ -11,6 +12,7 @@ func GenerateCongratulationImage(text string, outputFile string) {
|
|||||||
im, err := gg.LoadImage("./resource/xibao_background.png") // 需要提前准备的背景图片
|
im, err := gg.LoadImage("./resource/xibao_background.png") // 需要提前准备的背景图片
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Print("无法加载喜报图片:", err)
|
log.Print("无法加载喜报图片:", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建与背景图片大小相同的画布
|
// 创建与背景图片大小相同的画布
|
||||||
@ -24,12 +26,27 @@ func GenerateCongratulationImage(text string, outputFile string) {
|
|||||||
// 设置字体和大小,字体文件需要自备,放在合适的路径
|
// 设置字体和大小,字体文件需要自备,放在合适的路径
|
||||||
if err := dc.LoadFontFace("./resource/font.ttf", 96); err != nil {
|
if err := dc.LoadFontFace("./resource/font.ttf", 96); err != nil {
|
||||||
log.Print("无法加载字体:", err)
|
log.Print("无法加载字体:", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置文本颜色为红色
|
||||||
dc.SetRGB(1, 0, 0)
|
dc.SetRGB(1, 0, 0)
|
||||||
|
|
||||||
dc.DrawStringAnchored(text, float64(width)/2, float64(height)/2, 0.5, 0.5)
|
// 将文本按 \n 分割为多行
|
||||||
|
lines := strings.Split(text, "\n")
|
||||||
|
|
||||||
|
// 设置初始绘制的 y 位置,可以根据需要调整
|
||||||
|
startY := float64(height) / 2
|
||||||
|
lineHeight := 120.0 // 行高,可以根据字体大小调整
|
||||||
|
|
||||||
|
// 居中绘制每一行
|
||||||
|
for i, line := range lines {
|
||||||
|
x := float64(width) / 2
|
||||||
|
y := startY + float64(i)*lineHeight
|
||||||
|
dc.DrawStringAnchored(line, x, y, 0.5, 0.5)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将生成的图片保存为输出文件
|
||||||
err = dc.SavePNG(outputFile)
|
err = dc.SavePNG(outputFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Print("无法保存生成的图片:", err)
|
log.Print("无法保存生成的图片:", err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user