MCPcopy Index your code
hub / github.com/FloatTech/ZeroBot-Plugin / drawScore17b2

Function drawScore17b2

plugin/score/draw.go:280–412  ·  view source on GitHub ↗
(a *scdata)

Source from the content-addressed store, hash-verified

278}
279
280func drawScore17b2(a *scdata) (img image.Image, err error) {
281 fontdata, err := file.GetLazyData(text.GlowSansFontFile, control.Md5File, false)
282 if err != nil {
283 return
284 }
285
286 getAvatar, err := initPic(a.picfile, a.uid)
287 if err != nil {
288 return
289 }
290 back, err := fio.LoadImage(a.picfile)
291 if err != nil {
292 return
293 }
294
295 bx, by := float64(back.Bounds().Dx()), float64(back.Bounds().Dy())
296
297 sc := 1280 / bx
298 var colors []color.RGBA
299
300 canvas := gg.NewContext(1280, 1280*int(by)/int(bx))
301 cw, ch := float64(canvas.W()), float64(canvas.H())
302
303 sch := ch * 6 / 10
304
305 var blurback, scbackimg, backshadowimg, avatarimg, avatarbackimg, avatarshadowimg, whitetext, blacktext image.Image
306 wg := &sync.WaitGroup{}
307 wg.Add(7)
308 scback := gg.NewContext(canvas.W(), canvas.H())
309
310 scback.ScaleAbout(sc, sc, cw/2, ch/2)
311 scback.DrawImageAnchored(back, canvas.W()/2, canvas.H()/2, 0.5, 0.5)
312 scback.Identity()
313
314 colors = gg.TakeThemeColorsKMeans(scback.Image(), 3)
315 go func() {
316 defer wg.Done()
317
318 blurback = imaging.Blur(scback.Image(), 20)
319
320 scbackimg = rendercard.Fillet(scback.Image(), 12)
321 }()
322
323 go func() {
324 defer wg.Done()
325 pureblack := gg.NewContext(canvas.W(), canvas.H())
326 pureblack.SetRGBA255(0, 0, 0, 255)
327 pureblack.Clear()
328
329 shadow := gg.NewContext(canvas.W(), canvas.H())
330 shadow.ScaleAbout(0.6, 0.6, cw-cw/3, ch/2)
331 shadow.DrawImageAnchored(pureblack.Image(), canvas.W()-canvas.W()/3, canvas.H()/2, 0.5, 0.5)
332 shadow.Identity()
333
334 backshadowimg = imaging.Blur(shadow.Image(), 8)
335 }()
336
337 aw, ah := (ch-sch)/2/2/2*3, (ch-sch)/2/2/2*3

Callers

nothing calls this directly

Calls 3

initPicFunction · 0.85
customrectangleFunction · 0.85
customtextFunction · 0.85

Tested by

no test coverage detected