fix(#122): 避免图片过大导致内存占用过多

This commit is contained in:
fumiama 2022-02-12 13:32:26 +08:00
parent c3722b0a6c
commit cf72d0b36a

View File

@ -17,6 +17,7 @@ import (
control "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/ctxext"
"github.com/FloatTech/zbputils/file"
"github.com/FloatTech/zbputils/img"
"github.com/FloatTech/zbputils/img/text"
"github.com/FloatTech/zbputils/img/writer"
"github.com/FloatTech/zbputils/web"
@ -70,6 +71,14 @@ func init() {
ctx.SendChain(message.Text("ERROR:", err))
return
}
// 避免图片过大,最大 1280*720
if back.Bounds().Size().X > 1280 {
back = img.Size(back, 1280, back.Bounds().Size().Y*1280/back.Bounds().Size().X).Im
} else if back.Bounds().Size().Y > 720 {
back = img.Size(back, back.Bounds().Size().X*720/back.Bounds().Size().Y, 720).Im
}
canvas := gg.NewContext(back.Bounds().Size().X, int(float64(back.Bounds().Size().Y)*1.7))
canvas.SetRGB(1, 1, 1)
canvas.Clear()