refactor: 更新 ResizeImageByMaxHeight2Image 函数,支持处理 GIF 格式并返回多个图像及延迟信息,支持返回GIF结果
This commit is contained in:
@@ -571,13 +571,14 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite) string {
|
||||
log.Default().Printf("渲染文字失败,err:%v", err)
|
||||
}
|
||||
|
||||
avatar, err := util.ResizeImageByMaxHeight2Image(filePath, uint(textImg.Bounds().Dy()))
|
||||
avatar, delay, err := util.ResizeImageByMaxHeight2Image(filePath, uint(textImg.Bounds().Dy()))
|
||||
if err != nil {
|
||||
log.Default().Printf("缩放头像失败,url:%s,err:%v", p.Avatar, err)
|
||||
}
|
||||
avatarSpirit := sprite.Sprite{
|
||||
Name: "avatar",
|
||||
Images: []image.Image{avatar},
|
||||
Images: avatar,
|
||||
Delay: delay,
|
||||
Index: 1,
|
||||
}
|
||||
if avatar == nil {
|
||||
@@ -606,7 +607,12 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite) string {
|
||||
Position: image.Point{X: minX - 5, Y: minY - 5},
|
||||
}
|
||||
baseboard.AddSprite(&backgroundSpirit)
|
||||
|
||||
if len(avatarSpirit.Images) > 1 {
|
||||
if err := baseboard.SaveToGIF(util.GenTempFilePath("cbl.gif")); err != nil {
|
||||
log.Default().Printf("保存图片失败,err:%v", err)
|
||||
}
|
||||
return util.GenTempFilePath("cbl.gif")
|
||||
}
|
||||
if err := baseboard.SaveToPng(util.GenTempFilePath("cbl.png")); err != nil {
|
||||
log.Default().Printf("保存图片失败,err:%v", err)
|
||||
}
|
||||
|
||||
@@ -390,13 +390,14 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite) string {
|
||||
log.Default().Printf("渲染文字失败,err:%v", err)
|
||||
}
|
||||
|
||||
avatar, err := util.ResizeImageByMaxHeight2Image(filePath, uint(textImg.Bounds().Dy()))
|
||||
avatar, delay, err := util.ResizeImageByMaxHeight2Image(filePath, uint(textImg.Bounds().Dy()))
|
||||
if err != nil {
|
||||
log.Default().Printf("缩放头像失败,url:%s,err:%v", p.ProfilePicture, err)
|
||||
}
|
||||
avatarSpirit := sprite.Sprite{
|
||||
Name: "avatar",
|
||||
Images: []image.Image{avatar},
|
||||
Images: avatar,
|
||||
Delay: delay,
|
||||
Index: 1,
|
||||
}
|
||||
if avatar == nil {
|
||||
@@ -425,7 +426,12 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite) string {
|
||||
Position: image.Point{X: minX - 5, Y: minY - 5},
|
||||
}
|
||||
baseboard.AddSprite(&backgroundSpirit)
|
||||
|
||||
if len(avatarSpirit.Images) > 1 {
|
||||
if err := baseboard.SaveToGIF(util.GenTempFilePath("css.gif")); err != nil {
|
||||
log.Default().Printf("保存图片失败,err:%v", err)
|
||||
}
|
||||
return util.GenTempFilePath("css.gif")
|
||||
}
|
||||
if err := baseboard.SaveToPng(util.GenTempFilePath("css.png")); err != nil {
|
||||
log.Default().Printf("保存图片失败,err:%v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user