feat: 抽塔罗牌附加解析 (#383)

This commit is contained in:
莫思潋
2022-08-22 15:33:25 +08:00
committed by GitHub
parent 169af4ccce
commit 941d6d2884
6 changed files with 79 additions and 110 deletions

View File

@@ -1,13 +1,16 @@
package gif
import (
"errors"
"image"
"image/color"
"sync"
"github.com/Coloured-glaze/gg"
"github.com/FloatTech/floatbox/file"
"github.com/FloatTech/floatbox/img/writer"
"github.com/FloatTech/zbputils/img"
"github.com/FloatTech/zbputils/img/text"
)
// mo 摸
@@ -1394,3 +1397,52 @@ func whirl(cc *context, value ...string) (string, error) {
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, whirl))
}
// always 一直
func alwaysDoGif(cc *context, value ...string) (string, error) {
_ = value
var err error
var face []*image.NRGBA
name := cc.usrdir + "AlwaysDo.gif"
face, err = img.LoadAllFrames(cc.headimgsdir[0], 500, 500)
if err != nil {
// 载入失败尝试载入第一帧
face = make([]*image.NRGBA, 0)
first, err := img.LoadFirstFrame(cc.headimgsdir[0], 500, 500)
if err != nil {
return "", err
}
face = append(face, first.Im)
}
canvas := gg.NewContext(500, 600)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, true)
if err != nil {
return "", err
}
err = canvas.LoadFontFace(text.BoldFontFile, 40)
if err != nil {
return "", err
}
length := len(face)
if length > 50 {
length = 50
}
arg := "要我一直"
l, _ := canvas.MeasureString(arg)
if l > 500 {
return "", errors.New("文字消息太长了")
}
turn := make([]*image.NRGBA, length)
for i, f := range face {
canvas := gg.NewContext(500, 600)
canvas.DrawImage(f, 0, 0)
canvas.SetColor(color.Black)
_ = canvas.LoadFontFace(text.BoldFontFile, 40)
canvas.DrawString(arg, 280-l, 560)
canvas.DrawImage(img.Size(f, 90, 90).Im, 280, 505)
canvas.DrawString("吗", 370, 560)
turn[i] = img.Size(canvas.Image(), 0, 0).Im
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(8, turn))
}

View File

@@ -118,6 +118,7 @@ var (
"我老婆": nowife,
"远离": yuanli,
"抬棺": taiguan,
"一直": alwaysDoGif,
}
)
@@ -140,7 +141,7 @@ func init() { // 插件主体
"- 抬棺|- 远离|- 我老婆|- 小天使XXX|- 你的XXX|- 不要看\n" +
"- 玩一下XXX|- 给我变|- 揍|- 吞|- 膜拜|- 诶嘿|- 2蹭|- 你犯法了\n" +
"- 砰|- 注意力涣散|- 蒙蔽|- 踩|- 好玩|- 2转|- 踢球|- 2舔|\n" +
"- 可莉吃|- 胡桃啃|- 怀",
"- 可莉吃|- 胡桃啃|- 怀|- 一直(支持动图)",
PrivateDataFolder: "gif",
}).ApplySingle(ctxext.DefaultSingle)
datapath = file.BOTPATH + "/" + en.DataFolder()