(a *scdata)
| 278 | } |
| 279 | |
| 280 | func 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 |
nothing calls this directly
no test coverage detected