refactor: 更新 LastDiffToImage 函数,替换 font2img 为 text2img 进行文字渲染,适配新的Sprite接口

This commit is contained in:
lixiangwuxian
2025-05-13 22:33:35 +08:00
parent 9b7faa13a0
commit 1ec5e051e9
4 changed files with 21 additions and 21 deletions

View File

@@ -10,8 +10,8 @@ import (
"strings"
"time"
"git.lxtend.com/lixiangwuxian/imagedd/font2img"
"git.lxtend.com/lixiangwuxian/imagedd/sprite"
"git.lxtend.com/lixiangwuxian/imagedd/text2img"
"git.lxtend.com/qqbot/message"
"git.lxtend.com/qqbot/util"
)
@@ -566,7 +566,7 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite) string {
sb.WriteString(fmt.Sprintf("回放被观看次数 %d", p.ReplaysWatched))
}
text := sb.String()
textImg, err := font2img.RenderTextToTrimmedImage(nil, text, 24, color.Black, 0, 0)
textImg, err := text2img.RenderTextToTrimmedImage(nil, text, 24, color.Black, 0, 0)
if err != nil {
log.Default().Printf("渲染文字失败err:%v", err)
}
@@ -576,20 +576,20 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite) string {
log.Default().Printf("缩放头像失败url:%s,err:%v", p.Avatar, err)
}
avatarSpirit := sprite.Sprite{
Name: "avatar",
Image: avatar,
Index: 1,
Name: "avatar",
Images: []image.Image{avatar},
Index: 1,
}
if avatar == nil {
avatarSpirit.Image = image.NewRGBA(image.Rect(0, 0, 0, 0))
avatarSpirit.Images = []image.Image{image.NewRGBA(image.Rect(0, 0, 0, 0))}
}
baseboard.AddSprite(&avatarSpirit)
textSpirit := sprite.Sprite{
Name: "text",
Image: textImg,
Images: []image.Image{textImg},
Index: 2,
Position: image.Point{X: avatarSpirit.Position.X + avatarSpirit.Image.Bounds().Dx() + 3, Y: 0},
Position: image.Point{X: avatarSpirit.Position.X + avatarSpirit.Images[0].Bounds().Dx() + 3, Y: 0},
}
baseboard.AddSprite(&textSpirit)
@@ -601,7 +601,7 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite) string {
draw.Draw(background, background.Bounds(), image.White, image.Point{}, draw.Src)
backgroundSpirit := sprite.Sprite{
Name: "background",
Image: background,
Images: []image.Image{background},
Index: 0,
Position: image.Point{X: minX - 5, Y: minY - 5},
}