karthikeya1212 commited on
Commit
6beda36
·
verified ·
1 Parent(s): 6583a36

Update app/core/shadowGenerator.js

Browse files
Files changed (1) hide show
  1. app/core/shadowGenerator.js +17 -6
app/core/shadowGenerator.js CHANGED
@@ -65,16 +65,27 @@ async function generateShadow(imageBuffer, options = {}) {
65
  }
66
  }
67
 
68
- // ---------------- Final canvas size = original size + padding ----------------
69
- const canvasW = scaledW + extraLeft + extraRight;
70
- const canvasH = scaledH + extraTop + extraBottom;
 
 
 
 
 
 
 
 
 
 
 
71
  const canvas = createCanvas(canvasW, canvasH);
72
  const ctx = canvas.getContext('2d');
73
  ctx.clearRect(0, 0, canvasW, canvasH);
74
 
75
- // ---------------- Base position ----------------
76
- const baseX = extraLeft + scaledW / 2; // center of object
77
- const baseY = extraTop + scaledH; // bottom of object
78
 
79
  // ---------------- Draw shadow ----------------
80
  switch (type) {
 
65
  }
66
  }
67
 
68
+ // // ---------------- Final canvas size = original size + padding ----------------
69
+ // const canvasW = scaledW + extraLeft + extraRight;
70
+ // const canvasH = scaledH + extraTop + extraBottom;
71
+ // const canvas = createCanvas(canvasW, canvasH);
72
+ // const ctx = canvas.getContext('2d');
73
+ // ctx.clearRect(0, 0, canvasW, canvasH);
74
+
75
+ // // ---------------- Base position ----------------
76
+ // const baseX = extraLeft + scaledW / 2; // center of object
77
+ // const baseY = extraTop + scaledH; // bottom of object
78
+ const safePad = Math.max(blur * 4, 300); // ensures enough room for long shadows
79
+
80
+ const canvasW = scaledW + safePad * 2;
81
+ const canvasH = scaledH + safePad * 2;
82
  const canvas = createCanvas(canvasW, canvasH);
83
  const ctx = canvas.getContext('2d');
84
  ctx.clearRect(0, 0, canvasW, canvasH);
85
 
86
+ // Position the image at the center-bottom area (natural shadow placement)
87
+ const baseX = canvasW / 2;
88
+ const baseY = canvasH / 2 + scaledH / 2;
89
 
90
  // ---------------- Draw shadow ----------------
91
  switch (type) {