Fraser commited on
Commit
c681f46
·
1 Parent(s): 6eff815
Files changed (1) hide show
  1. src/lib/services/picletExport.ts +11 -7
src/lib/services/picletExport.ts CHANGED
@@ -60,7 +60,7 @@ export async function generateShareableImage(piclet: PicletInstance): Promise<Bl
60
  const grassImg = await loadImage('/assets/grass.PNG');
61
  const platformSize = 1200; // Larger than piclet for proper positioning
62
  const platformX = (canvasWidth - platformSize) / 2;
63
- const platformY = picletY + picletSize - 300; // Platform under piclet
64
  ctx.drawImage(grassImg, platformX, platformY, platformSize, platformSize);
65
 
66
  // Draw piclet on top of platform
@@ -117,9 +117,10 @@ export async function generateShareableImage(piclet: PicletInstance): Promise<Bl
117
  const containerWidth = canvasWidth - 200;
118
  const containerHeight = 150;
119
 
120
- // Draw semi-transparent background
121
- ctx.fillStyle = 'rgba(0, 0, 0, 0.7)';
122
- ctx.roundRect(containerX, containerY, containerWidth, containerHeight, 20);
 
123
  ctx.fill();
124
 
125
  // Draw stats bars
@@ -144,13 +145,15 @@ export async function generateShareableImage(piclet: PicletInstance): Promise<Bl
144
  // Draw background bar
145
  const barX = containerX + 120;
146
  ctx.fillStyle = 'rgba(255, 255, 255, 0.2)';
147
- ctx.roundRect(barX, y - 8, barMaxWidth, barHeight, 8);
 
148
  ctx.fill();
149
 
150
  // Draw filled bar
151
  const fillWidth = (stat.value / maxStatValue) * barMaxWidth;
152
  ctx.fillStyle = stat.color;
153
- ctx.roundRect(barX, y - 8, fillWidth, barHeight, 8);
 
154
  ctx.fill();
155
 
156
  // Add shine effect
@@ -159,7 +162,8 @@ export async function generateShareableImage(piclet: PicletInstance): Promise<Bl
159
  shineGradient.addColorStop(0.5, 'rgba(255, 255, 255, 0.1)');
160
  shineGradient.addColorStop(1, 'rgba(255, 255, 255, 0)');
161
  ctx.fillStyle = shineGradient;
162
- ctx.roundRect(barX, y - 8, fillWidth, barHeight / 2, 8);
 
163
  ctx.fill();
164
  });
165
 
 
60
  const grassImg = await loadImage('/assets/grass.PNG');
61
  const platformSize = 1200; // Larger than piclet for proper positioning
62
  const platformX = (canvasWidth - platformSize) / 2;
63
+ const platformY = picletY + picletSize - 300 - 384; // Platform moved up by 384px
64
  ctx.drawImage(grassImg, platformX, platformY, platformSize, platformSize);
65
 
66
  // Draw piclet on top of platform
 
117
  const containerWidth = canvasWidth - 200;
118
  const containerHeight = 150;
119
 
120
+ // Draw semi-transparent background using the polyfilled roundRect
121
+ ctx.fillStyle = 'rgba(0, 0, 0, 0.5)';
122
+ ctx.beginPath();
123
+ (ctx as any).roundRect(containerX, containerY, containerWidth, containerHeight, 20);
124
  ctx.fill();
125
 
126
  // Draw stats bars
 
145
  // Draw background bar
146
  const barX = containerX + 120;
147
  ctx.fillStyle = 'rgba(255, 255, 255, 0.2)';
148
+ ctx.beginPath();
149
+ (ctx as any).roundRect(barX, y - 8, barMaxWidth, barHeight, 8);
150
  ctx.fill();
151
 
152
  // Draw filled bar
153
  const fillWidth = (stat.value / maxStatValue) * barMaxWidth;
154
  ctx.fillStyle = stat.color;
155
+ ctx.beginPath();
156
+ (ctx as any).roundRect(barX, y - 8, fillWidth, barHeight, 8);
157
  ctx.fill();
158
 
159
  // Add shine effect
 
162
  shineGradient.addColorStop(0.5, 'rgba(255, 255, 255, 0.1)');
163
  shineGradient.addColorStop(1, 'rgba(255, 255, 255, 0)');
164
  ctx.fillStyle = shineGradient;
165
+ ctx.beginPath();
166
+ (ctx as any).roundRect(barX, y - 8, fillWidth, barHeight / 2, 8);
167
  ctx.fill();
168
  });
169