@@ -50,8 +50,8 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
5050
5151 var blurback , scbackimg , backshadowimg , avatarimg , avatarbackimg , avatarshadowimg , whitetext , blacktext image.Image
5252 var wg sync.WaitGroup
53- wg .Add (8 )
5453
54+ wg .Add (2 )
5555 go func () {
5656 defer wg .Done ()
5757 scback := gg .NewContext (canvas .W (), canvas .H ())
@@ -67,6 +67,7 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
6767 scbackimg = rendercard .Fillet (scback .Image (), 12 )
6868 }()
6969
70+ wg .Add (1 )
7071 go func () {
7172 defer wg .Done ()
7273 pureblack := gg .NewContext (canvas .W (), canvas .H ())
@@ -83,40 +84,46 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
8384
8485 aw , ah := (ch - sch )/ 2 / 2 / 2 * 3 , (ch - sch )/ 2 / 2 / 2 * 3
8586
86- go func () {
87- defer wg .Done ()
88- avatar , _ , err := image .Decode (bytes .NewReader (getAvatar ))
89- if err != nil {
90- return
91- }
87+ if getAvatar != nil {
88+ wg .Add (1 )
89+ go func () {
90+ defer wg .Done ()
91+ avatar , _ , err := image .Decode (bytes .NewReader (getAvatar ))
92+ if err != nil {
93+ return
94+ }
9295
93- isc := (ch - sch ) / 2 / 2 / 2 * 3 / float64 (avatar .Bounds ().Dy ())
96+ isc := (ch - sch ) / 2 / 2 / 2 * 3 / float64 (avatar .Bounds ().Dy ())
9497
95- scavatar := gg .NewContext (int (aw ), int (ah ))
98+ scavatar := gg .NewContext (int (aw ), int (ah ))
9699
97- scavatar .ScaleAbout (isc , isc , aw / 2 , ah / 2 )
98- scavatar .DrawImageAnchored (avatar , scavatar .W ()/ 2 , scavatar .H ()/ 2 , 0.5 , 0.5 )
99- scavatar .Identity ()
100+ scavatar .ScaleAbout (isc , isc , aw / 2 , ah / 2 )
101+ scavatar .DrawImageAnchored (avatar , scavatar .W ()/ 2 , scavatar .H ()/ 2 , 0.5 , 0.5 )
102+ scavatar .Identity ()
100103
101- avatarimg = rendercard .Fillet (scavatar .Image (), 8 )
102- }()
104+ avatarimg = rendercard .Fillet (scavatar .Image (), 8 )
105+ }()
106+ }
103107
104108 err = canvas .ParseFontFace (fontdata , (ch - sch )/ 2 / 2 / 2 )
105109 if err != nil {
106110 return
107111 }
108112 namew , _ := canvas .MeasureString (a .nickname )
109113
114+ wg .Add (1 )
110115 go func () {
111116 defer wg .Done ()
112117 avatarshadowimg = imaging .Blur (customrectangle (cw , ch , aw , ah , namew , color .Black ), 8 )
113118 }()
114119
120+ wg .Add (1 )
115121 go func () {
116122 defer wg .Done ()
117123 avatarbackimg = customrectangle (cw , ch , aw , ah , namew , colors [0 ])
118124 }()
119125
126+ wg .Add (1 )
120127 go func () {
121128 defer wg .Done ()
122129 whitetext , err = customtext (a , fontdata , cw , ch , aw , color .White )
@@ -125,6 +132,7 @@ func floatstyle(a *scoredata) (img image.Image, err error) {
125132 }
126133 }()
127134
135+ wg .Add (1 )
128136 go func () {
129137 defer wg .Done ()
130138 blacktext , err = customtext (a , fontdata , cw , ch , aw , color .Black )
0 commit comments