apexify.js 4.5.54 → 4.5.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/cjs/ai/ApexAI.d.ts +1 -164
  2. package/dist/cjs/ai/ApexAI.d.ts.map +1 -1
  3. package/dist/cjs/ai/ApexAI.js +190 -373
  4. package/dist/cjs/ai/ApexAI.js.map +1 -1
  5. package/dist/cjs/ai/ApexModules.d.ts +1 -1
  6. package/dist/cjs/ai/ApexModules.d.ts.map +1 -1
  7. package/dist/cjs/ai/ApexModules.js +6 -18
  8. package/dist/cjs/ai/ApexModules.js.map +1 -1
  9. package/dist/cjs/ai/functions/draw.d.ts.map +1 -1
  10. package/dist/cjs/ai/functions/draw.js +6 -6
  11. package/dist/cjs/ai/functions/draw.js.map +1 -1
  12. package/dist/cjs/ai/modals-chat/electronHub/imageModels.d.ts +1 -1
  13. package/dist/cjs/ai/modals-chat/electronHub/imageModels.d.ts.map +1 -1
  14. package/dist/cjs/ai/modals-chat/electronHub/imageModels.js +1 -4
  15. package/dist/cjs/ai/modals-chat/electronHub/imageModels.js.map +1 -1
  16. package/dist/cjs/ai/utils.d.ts +1 -4
  17. package/dist/cjs/ai/utils.d.ts.map +1 -1
  18. package/dist/cjs/ai/utils.js +1 -7
  19. package/dist/cjs/ai/utils.js.map +1 -1
  20. package/dist/cjs/canvas/ApexPainter.d.ts +17 -14
  21. package/dist/cjs/canvas/ApexPainter.d.ts.map +1 -1
  22. package/dist/cjs/canvas/ApexPainter.js +29 -11
  23. package/dist/cjs/canvas/ApexPainter.js.map +1 -1
  24. package/dist/cjs/canvas/utils/Background/bg.d.ts +24 -0
  25. package/dist/cjs/canvas/utils/Background/bg.d.ts.map +1 -0
  26. package/dist/{esm/canvas/utils → cjs/canvas/utils/Background}/bg.js +27 -52
  27. package/dist/cjs/canvas/utils/Background/bg.js.map +1 -0
  28. package/dist/cjs/canvas/utils/Background/circular.d.ts +3 -0
  29. package/dist/cjs/canvas/utils/Background/circular.d.ts.map +1 -0
  30. package/dist/{esm/canvas/utils → cjs/canvas/utils/Background}/circular.js +0 -8
  31. package/dist/cjs/canvas/utils/{circular.js.map → Background/circular.js.map} +1 -1
  32. package/dist/cjs/canvas/utils/Background/radius.d.ts +18 -0
  33. package/dist/cjs/canvas/utils/Background/radius.d.ts.map +1 -0
  34. package/dist/cjs/canvas/utils/Background/radius.js +115 -0
  35. package/dist/cjs/canvas/utils/Background/radius.js.map +1 -0
  36. package/dist/cjs/canvas/utils/{charts.d.ts → Charts/charts.d.ts} +1 -1
  37. package/dist/cjs/canvas/utils/Charts/charts.d.ts.map +1 -0
  38. package/dist/cjs/canvas/utils/Charts/charts.js.map +1 -0
  39. package/dist/cjs/canvas/utils/Custom/customLines.d.ts +3 -0
  40. package/dist/cjs/canvas/utils/Custom/customLines.d.ts.map +1 -0
  41. package/dist/cjs/canvas/utils/Custom/customLines.js.map +1 -0
  42. package/dist/cjs/canvas/utils/General/conversion.d.ts.map +1 -0
  43. package/dist/cjs/canvas/utils/General/conversion.js.map +1 -0
  44. package/dist/cjs/canvas/utils/{general functions.d.ts → General/general functions.d.ts } +18 -4
  45. package/dist/cjs/canvas/utils/General/general functions.d.ts.map +1 -0
  46. package/dist/{esm/canvas/utils → cjs/canvas/utils/General}/general functions.js +89 -58
  47. package/dist/cjs/canvas/utils/General/general functions.js.map +1 -0
  48. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +81 -0
  49. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  50. package/dist/{esm/canvas/utils → cjs/canvas/utils/Image}/imageProperties.js +224 -45
  51. package/dist/cjs/canvas/utils/Image/imageProperties.js.map +1 -0
  52. package/dist/{esm/canvas/utils → cjs/canvas/utils/Texts}/textProperties.d.ts +1 -1
  53. package/dist/cjs/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  54. package/dist/cjs/canvas/utils/Texts/textProperties.js.map +1 -0
  55. package/dist/cjs/canvas/utils/types.d.ts +41 -1
  56. package/dist/cjs/canvas/utils/types.d.ts.map +1 -1
  57. package/dist/cjs/canvas/utils/types.js.map +1 -1
  58. package/dist/cjs/canvas/utils/utils.d.ts +11 -11
  59. package/dist/cjs/canvas/utils/utils.d.ts.map +1 -1
  60. package/dist/cjs/canvas/utils/utils.js +11 -10
  61. package/dist/cjs/canvas/utils/utils.js.map +1 -1
  62. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  63. package/dist/esm/ai/ApexAI.d.ts +1 -164
  64. package/dist/esm/ai/ApexAI.d.ts.map +1 -1
  65. package/dist/esm/ai/ApexAI.js +190 -373
  66. package/dist/esm/ai/ApexAI.js.map +1 -1
  67. package/dist/esm/ai/ApexModules.d.ts +1 -1
  68. package/dist/esm/ai/ApexModules.d.ts.map +1 -1
  69. package/dist/esm/ai/ApexModules.js +6 -18
  70. package/dist/esm/ai/ApexModules.js.map +1 -1
  71. package/dist/esm/ai/functions/draw.d.ts.map +1 -1
  72. package/dist/esm/ai/functions/draw.js +6 -6
  73. package/dist/esm/ai/functions/draw.js.map +1 -1
  74. package/dist/esm/ai/modals-chat/electronHub/imageModels.d.ts +1 -1
  75. package/dist/esm/ai/modals-chat/electronHub/imageModels.d.ts.map +1 -1
  76. package/dist/esm/ai/modals-chat/electronHub/imageModels.js +1 -4
  77. package/dist/esm/ai/modals-chat/electronHub/imageModels.js.map +1 -1
  78. package/dist/esm/ai/utils.d.ts +1 -4
  79. package/dist/esm/ai/utils.d.ts.map +1 -1
  80. package/dist/esm/ai/utils.js +1 -7
  81. package/dist/esm/ai/utils.js.map +1 -1
  82. package/dist/esm/canvas/ApexPainter.d.ts +17 -14
  83. package/dist/esm/canvas/ApexPainter.d.ts.map +1 -1
  84. package/dist/esm/canvas/ApexPainter.js +29 -11
  85. package/dist/esm/canvas/ApexPainter.js.map +1 -1
  86. package/dist/esm/canvas/utils/Background/bg.d.ts +24 -0
  87. package/dist/esm/canvas/utils/Background/bg.d.ts.map +1 -0
  88. package/dist/{cjs/canvas/utils → esm/canvas/utils/Background}/bg.js +27 -52
  89. package/dist/esm/canvas/utils/Background/bg.js.map +1 -0
  90. package/dist/esm/canvas/utils/Background/circular.d.ts +3 -0
  91. package/dist/esm/canvas/utils/Background/circular.d.ts.map +1 -0
  92. package/dist/{cjs/canvas/utils → esm/canvas/utils/Background}/circular.js +0 -8
  93. package/dist/esm/canvas/utils/{circular.js.map → Background/circular.js.map} +1 -1
  94. package/dist/esm/canvas/utils/Background/radius.d.ts +18 -0
  95. package/dist/esm/canvas/utils/Background/radius.d.ts.map +1 -0
  96. package/dist/esm/canvas/utils/Background/radius.js +115 -0
  97. package/dist/esm/canvas/utils/Background/radius.js.map +1 -0
  98. package/dist/esm/canvas/utils/{charts.d.ts → Charts/charts.d.ts} +1 -1
  99. package/dist/esm/canvas/utils/Charts/charts.d.ts.map +1 -0
  100. package/dist/esm/canvas/utils/Charts/charts.js.map +1 -0
  101. package/dist/esm/canvas/utils/Custom/customLines.d.ts +3 -0
  102. package/dist/esm/canvas/utils/Custom/customLines.d.ts.map +1 -0
  103. package/dist/esm/canvas/utils/Custom/customLines.js.map +1 -0
  104. package/dist/esm/canvas/utils/General/conversion.d.ts.map +1 -0
  105. package/dist/esm/canvas/utils/General/conversion.js.map +1 -0
  106. package/dist/esm/canvas/utils/{general functions.d.ts → General/general functions.d.ts } +18 -4
  107. package/dist/esm/canvas/utils/General/general functions.d.ts.map +1 -0
  108. package/dist/{cjs/canvas/utils → esm/canvas/utils/General}/general functions.js +89 -58
  109. package/dist/esm/canvas/utils/General/general functions.js.map +1 -0
  110. package/dist/esm/canvas/utils/Image/imageProperties.d.ts +81 -0
  111. package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  112. package/dist/{cjs/canvas/utils → esm/canvas/utils/Image}/imageProperties.js +224 -45
  113. package/dist/esm/canvas/utils/Image/imageProperties.js.map +1 -0
  114. package/dist/{cjs/canvas/utils → esm/canvas/utils/Texts}/textProperties.d.ts +1 -1
  115. package/dist/esm/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  116. package/dist/esm/canvas/utils/Texts/textProperties.js.map +1 -0
  117. package/dist/esm/canvas/utils/types.d.ts +41 -1
  118. package/dist/esm/canvas/utils/types.d.ts.map +1 -1
  119. package/dist/esm/canvas/utils/types.js.map +1 -1
  120. package/dist/esm/canvas/utils/utils.d.ts +11 -11
  121. package/dist/esm/canvas/utils/utils.d.ts.map +1 -1
  122. package/dist/esm/canvas/utils/utils.js +11 -10
  123. package/dist/esm/canvas/utils/utils.js.map +1 -1
  124. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  125. package/lib/ai/ApexAI.ts +195 -697
  126. package/lib/ai/ApexModules.ts +7 -17
  127. package/lib/ai/functions/draw.ts +6 -8
  128. package/lib/ai/modals-chat/electronHub/imageModels.ts +2 -5
  129. package/lib/ai/utils.ts +0 -6
  130. package/lib/canvas/ApexPainter.ts +73 -38
  131. package/lib/canvas/utils/Background/bg.ts +97 -0
  132. package/lib/canvas/utils/Background/circular.ts +17 -0
  133. package/lib/canvas/utils/Background/radius.ts +113 -0
  134. package/lib/canvas/utils/{charts.ts → Charts/charts.ts} +1 -1
  135. package/lib/canvas/utils/{customLines.ts → Custom/customLines.ts} +1 -1
  136. package/lib/canvas/utils/{conversion.ts → General/conversion.ts} +1 -1
  137. package/lib/canvas/utils/{general functions.ts → General/general functions.ts } +143 -121
  138. package/lib/canvas/utils/Image/imageProperties.ts +631 -0
  139. package/lib/canvas/utils/{textProperties.ts → Texts/textProperties.ts} +1 -1
  140. package/lib/canvas/utils/types.ts +45 -2
  141. package/lib/canvas/utils/utils.ts +14 -11
  142. package/package.json +1 -4
  143. package/dist/cjs/ai/functions/generateVoiceResponse.d.ts +0 -10
  144. package/dist/cjs/ai/functions/generateVoiceResponse.d.ts.map +0 -1
  145. package/dist/cjs/ai/functions/generateVoiceResponse.js +0 -161
  146. package/dist/cjs/ai/functions/generateVoiceResponse.js.map +0 -1
  147. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.d.ts +0 -13
  148. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.d.ts.map +0 -1
  149. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.js +0 -185
  150. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.js.map +0 -1
  151. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.d.ts +0 -13
  152. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.d.ts.map +0 -1
  153. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.js +0 -185
  154. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.js.map +0 -1
  155. package/dist/cjs/ai/modals-chat/gemini/config.d.ts +0 -5
  156. package/dist/cjs/ai/modals-chat/gemini/config.d.ts.map +0 -1
  157. package/dist/cjs/ai/modals-chat/gemini/config.js +0 -13
  158. package/dist/cjs/ai/modals-chat/gemini/config.js.map +0 -1
  159. package/dist/cjs/ai/modals-chat/gemini/geminiFast.d.ts +0 -15
  160. package/dist/cjs/ai/modals-chat/gemini/geminiFast.d.ts.map +0 -1
  161. package/dist/cjs/ai/modals-chat/gemini/geminiFast.js +0 -146
  162. package/dist/cjs/ai/modals-chat/gemini/geminiFast.js.map +0 -1
  163. package/dist/cjs/canvas/utils/bg.d.ts +0 -23
  164. package/dist/cjs/canvas/utils/bg.d.ts.map +0 -1
  165. package/dist/cjs/canvas/utils/bg.js.map +0 -1
  166. package/dist/cjs/canvas/utils/charts.d.ts.map +0 -1
  167. package/dist/cjs/canvas/utils/charts.js.map +0 -1
  168. package/dist/cjs/canvas/utils/circular.d.ts +0 -10
  169. package/dist/cjs/canvas/utils/circular.d.ts.map +0 -1
  170. package/dist/cjs/canvas/utils/conversion.d.ts.map +0 -1
  171. package/dist/cjs/canvas/utils/conversion.js.map +0 -1
  172. package/dist/cjs/canvas/utils/customLines.d.ts +0 -3
  173. package/dist/cjs/canvas/utils/customLines.d.ts.map +0 -1
  174. package/dist/cjs/canvas/utils/customLines.js.map +0 -1
  175. package/dist/cjs/canvas/utils/general functions.d.ts.map +0 -1
  176. package/dist/cjs/canvas/utils/general functions.js.map +0 -1
  177. package/dist/cjs/canvas/utils/imageProperties.d.ts +0 -62
  178. package/dist/cjs/canvas/utils/imageProperties.d.ts.map +0 -1
  179. package/dist/cjs/canvas/utils/imageProperties.js.map +0 -1
  180. package/dist/cjs/canvas/utils/radius.d.ts +0 -10
  181. package/dist/cjs/canvas/utils/radius.d.ts.map +0 -1
  182. package/dist/cjs/canvas/utils/radius.js +0 -30
  183. package/dist/cjs/canvas/utils/radius.js.map +0 -1
  184. package/dist/cjs/canvas/utils/textProperties.d.ts.map +0 -1
  185. package/dist/cjs/canvas/utils/textProperties.js.map +0 -1
  186. package/dist/esm/ai/functions/generateVoiceResponse.d.ts +0 -10
  187. package/dist/esm/ai/functions/generateVoiceResponse.d.ts.map +0 -1
  188. package/dist/esm/ai/functions/generateVoiceResponse.js +0 -161
  189. package/dist/esm/ai/functions/generateVoiceResponse.js.map +0 -1
  190. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.d.ts +0 -13
  191. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.d.ts.map +0 -1
  192. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js +0 -185
  193. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js.map +0 -1
  194. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.d.ts +0 -13
  195. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.d.ts.map +0 -1
  196. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js +0 -185
  197. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js.map +0 -1
  198. package/dist/esm/ai/modals-chat/gemini/config.d.ts +0 -5
  199. package/dist/esm/ai/modals-chat/gemini/config.d.ts.map +0 -1
  200. package/dist/esm/ai/modals-chat/gemini/config.js +0 -13
  201. package/dist/esm/ai/modals-chat/gemini/config.js.map +0 -1
  202. package/dist/esm/ai/modals-chat/gemini/geminiFast.d.ts +0 -15
  203. package/dist/esm/ai/modals-chat/gemini/geminiFast.d.ts.map +0 -1
  204. package/dist/esm/ai/modals-chat/gemini/geminiFast.js +0 -146
  205. package/dist/esm/ai/modals-chat/gemini/geminiFast.js.map +0 -1
  206. package/dist/esm/canvas/utils/bg.d.ts +0 -23
  207. package/dist/esm/canvas/utils/bg.d.ts.map +0 -1
  208. package/dist/esm/canvas/utils/bg.js.map +0 -1
  209. package/dist/esm/canvas/utils/charts.d.ts.map +0 -1
  210. package/dist/esm/canvas/utils/charts.js.map +0 -1
  211. package/dist/esm/canvas/utils/circular.d.ts +0 -10
  212. package/dist/esm/canvas/utils/circular.d.ts.map +0 -1
  213. package/dist/esm/canvas/utils/conversion.d.ts.map +0 -1
  214. package/dist/esm/canvas/utils/conversion.js.map +0 -1
  215. package/dist/esm/canvas/utils/customLines.d.ts +0 -3
  216. package/dist/esm/canvas/utils/customLines.d.ts.map +0 -1
  217. package/dist/esm/canvas/utils/customLines.js.map +0 -1
  218. package/dist/esm/canvas/utils/general functions.d.ts.map +0 -1
  219. package/dist/esm/canvas/utils/general functions.js.map +0 -1
  220. package/dist/esm/canvas/utils/imageProperties.d.ts +0 -62
  221. package/dist/esm/canvas/utils/imageProperties.d.ts.map +0 -1
  222. package/dist/esm/canvas/utils/imageProperties.js.map +0 -1
  223. package/dist/esm/canvas/utils/radius.d.ts +0 -10
  224. package/dist/esm/canvas/utils/radius.d.ts.map +0 -1
  225. package/dist/esm/canvas/utils/radius.js +0 -30
  226. package/dist/esm/canvas/utils/radius.js.map +0 -1
  227. package/dist/esm/canvas/utils/textProperties.d.ts.map +0 -1
  228. package/dist/esm/canvas/utils/textProperties.js.map +0 -1
  229. package/lib/ai/functions/generateVoiceResponse.ts +0 -186
  230. package/lib/ai/modals-chat/gemini/Gemini-flash.ts +0 -200
  231. package/lib/ai/modals-chat/gemini/Gemini-pro.ts +0 -203
  232. package/lib/ai/modals-chat/gemini/config.ts +0 -11
  233. package/lib/ai/modals-chat/gemini/geminiFast.ts +0 -169
  234. package/lib/canvas/utils/bg.ts +0 -120
  235. package/lib/canvas/utils/circular.ts +0 -17
  236. package/lib/canvas/utils/imageProperties.ts +0 -418
  237. package/lib/canvas/utils/radius.ts +0 -26
  238. /package/dist/cjs/canvas/utils/{charts.js → Charts/charts.js} +0 -0
  239. /package/dist/cjs/canvas/utils/{customLines.js → Custom/customLines.js} +0 -0
  240. /package/dist/cjs/canvas/utils/{conversion.d.ts → General/conversion.d.ts} +0 -0
  241. /package/dist/cjs/canvas/utils/{conversion.js → General/conversion.js} +0 -0
  242. /package/dist/cjs/canvas/utils/{textProperties.js → Texts/textProperties.js} +0 -0
  243. /package/dist/esm/canvas/utils/{charts.js → Charts/charts.js} +0 -0
  244. /package/dist/esm/canvas/utils/{customLines.js → Custom/customLines.js} +0 -0
  245. /package/dist/esm/canvas/utils/{conversion.d.ts → General/conversion.d.ts} +0 -0
  246. /package/dist/esm/canvas/utils/{conversion.js → General/conversion.js} +0 -0
  247. /package/dist/esm/canvas/utils/{textProperties.js → Texts/textProperties.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general functions.d.ts","sourceRoot":"","sources":["../../../../../lib/canvas/utils/General/general functions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKtD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,wBAqBjD;AAGD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC/E;AAGD,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oCAiCtE;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,GAAE,MAAU,gBA8BpG;AA2DD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,oCA2DjE;AAGD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAgErE;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CrE;AAGD,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAiDrG;AAED,wBAAsB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwClJ;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4B5F"}
@@ -41,6 +41,12 @@ async function loadImages(imagePath) {
41
41
  throw new Error("Failed to load image");
42
42
  }
43
43
  }
44
+ /**
45
+ * Resizes an image using Sharp with additional options for quality, kernel, and withoutEnlargement.
46
+ *
47
+ * @param resizeOptions - The options for resizing.
48
+ * @returns A Promise that resolves with the resized image as a Buffer.
49
+ */
44
50
  async function resizingImg(resizeOptions) {
45
51
  try {
46
52
  if (!resizeOptions.imagePath) {
@@ -53,15 +59,18 @@ async function resizingImg(resizeOptions) {
53
59
  else {
54
60
  absoluteImagePath = path_1.default.join(process.cwd(), resizeOptions.imagePath);
55
61
  }
56
- let image = (0, sharp_1.default)(absoluteImagePath);
62
+ const image = (0, sharp_1.default)(absoluteImagePath);
57
63
  const resizeOptionsForSharp = {
58
64
  width: resizeOptions.size?.width || 500,
59
65
  height: resizeOptions.size?.height || 500,
60
- fit: resizeOptions.maintainAspectRatio ? sharp_1.default.fit.inside : sharp_1.default.fit.fill
66
+ fit: resizeOptions.maintainAspectRatio ? sharp_1.default.fit.inside : sharp_1.default.fit.fill,
67
+ kernel: sharp_1.default.kernel.lanczos3,
68
+ withoutEnlargement: true,
61
69
  };
70
+ const quality = resizeOptions.quality ?? 90;
62
71
  const resizedBuffer = await image
63
72
  .resize(resizeOptionsForSharp)
64
- .png()
73
+ .png({ quality })
65
74
  .toBuffer();
66
75
  return resizedBuffer;
67
76
  }
@@ -217,96 +226,118 @@ async function imgEffects(imagePath, filters) {
217
226
  throw new Error("Failed to process image");
218
227
  }
219
228
  }
229
+ /**
230
+ * Crops the inner portion of the image based on the bounding box of the provided coordinates.
231
+ * Optionally applies a clipping mask with a specified radius.
232
+ */
220
233
  async function cropInner(options) {
221
234
  try {
235
+ // Load the image (from HTTP or local path)
222
236
  let image;
223
- if (options.imageSource.startsWith('http')) {
237
+ if (options.imageSource.startsWith("http")) {
224
238
  image = await (0, canvas_1.loadImage)(options.imageSource);
225
239
  }
226
240
  else {
227
241
  image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
228
242
  }
229
- const width = Math.abs(options.coordinates[0].from.x - options.coordinates[1].to.x);
230
- const height = Math.abs(options.coordinates[0].from.y - options.coordinates[2].to.y);
231
- const canvas = (0, canvas_1.createCanvas)(width, height);
243
+ // Compute the bounding box from all coordinate points.
244
+ const xs = [];
245
+ const ys = [];
246
+ for (const coord of options.coordinates) {
247
+ xs.push(coord.from.x, coord.to.x);
248
+ ys.push(coord.from.y, coord.to.y);
249
+ }
250
+ const minX = Math.min(...xs);
251
+ const maxX = Math.max(...xs);
252
+ const minY = Math.min(...ys);
253
+ const maxY = Math.max(...ys);
254
+ const cropWidth = maxX - minX;
255
+ const cropHeight = maxY - minY;
256
+ // Create a canvas with the crop dimensions.
257
+ const canvas = (0, canvas_1.createCanvas)(cropWidth, cropHeight);
232
258
  const ctx = canvas.getContext('2d');
233
- if (options.radius === 'circular') {
234
- const radius = Math.min(width, height) / 2;
235
- ctx.arc(width / 2, height / 2, radius, 0, Math.PI * 2);
236
- ctx.closePath();
237
- ctx.clip();
238
- }
239
- else if (typeof options.radius === 'number' && options.radius >= 0) {
240
- ctx.beginPath();
241
- ctx.moveTo(options.radius, 0);
242
- ctx.lineTo(width - options.radius, 0);
243
- ctx.quadraticCurveTo(width, 0, width, options.radius);
244
- ctx.lineTo(width, height - options.radius);
245
- ctx.quadraticCurveTo(width, height, width - options.radius, height);
246
- ctx.lineTo(options.radius, height);
247
- ctx.quadraticCurveTo(0, height, 0, height - options.radius);
248
- ctx.lineTo(0, options.radius);
249
- ctx.quadraticCurveTo(0, 0, options.radius, 0);
250
- ctx.closePath();
251
- ctx.clip();
252
- // @ts-ignore
253
- }
254
- else if (options.radius !== null && options.radius !== 'circular' && (typeof options.radius !== 'number' || options.radius < 0)) {
255
- throw new Error('The "radius" option can only be "circular" or a non-negative number.');
256
- }
257
- ctx.drawImage(image, options.coordinates[0].from.x, options.coordinates[0].from.y, width, height, 0, 0, width, height);
258
- ctx.beginPath();
259
- for (let i = 0; i < options.coordinates.length; i++) {
260
- const coordinate = options.coordinates[i];
261
- const nextCoordinate = options.coordinates[(i + 1) % options.coordinates.length];
262
- const tension = coordinate.tension || 0;
263
- const cp1x = coordinate.from.x + (nextCoordinate.from.x - coordinate.from.x) * tension;
264
- const cp1y = coordinate.from.y + (nextCoordinate.from.y - coordinate.from.y) * tension;
265
- const cp2x = coordinate.to.x - (nextCoordinate.to.x - coordinate.to.x) * tension;
266
- const cp2y = coordinate.to.y - (nextCoordinate.to.y - coordinate.to.y) * tension;
267
- ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, coordinate.to.x, coordinate.to.y);
259
+ if (!ctx)
260
+ throw new Error("Unable to get 2D context");
261
+ // Optionally, apply a clipping mask if a radius is provided.
262
+ if (options.radius !== undefined && options.radius !== null) {
263
+ if (options.radius === "circular") {
264
+ const radius = Math.min(cropWidth, cropHeight) / 2;
265
+ ctx.beginPath();
266
+ ctx.arc(cropWidth / 2, cropHeight / 2, radius, 0, Math.PI * 2);
267
+ ctx.closePath();
268
+ ctx.clip();
269
+ }
270
+ else if (typeof options.radius === 'number' && options.radius >= 0) {
271
+ ctx.beginPath();
272
+ ctx.moveTo(options.radius, 0);
273
+ ctx.lineTo(cropWidth - options.radius, 0);
274
+ ctx.quadraticCurveTo(cropWidth, 0, cropWidth, options.radius);
275
+ ctx.lineTo(cropWidth, cropHeight - options.radius);
276
+ ctx.quadraticCurveTo(cropWidth, cropHeight, cropWidth - options.radius, cropHeight);
277
+ ctx.lineTo(options.radius, cropHeight);
278
+ ctx.quadraticCurveTo(0, cropHeight, 0, cropHeight - options.radius);
279
+ ctx.lineTo(0, options.radius);
280
+ ctx.quadraticCurveTo(0, 0, options.radius, 0);
281
+ ctx.closePath();
282
+ ctx.clip();
283
+ }
284
+ else {
285
+ throw new Error('The "radius" option can only be "circular" or a non-negative number.');
286
+ }
268
287
  }
269
- ctx.closePath();
270
- const buffer = canvas.toBuffer('image/png');
271
- return buffer;
288
+ // Draw the region from the original image corresponding to the bounding box.
289
+ // drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
290
+ ctx.drawImage(image, minX, minY, cropWidth, cropHeight, 0, 0, cropWidth, cropHeight);
291
+ return canvas.toBuffer('image/png');
272
292
  }
273
293
  catch (error) {
274
- console.error('An error occurred:', error);
294
+ console.error('An error occurred in cropInner:', error);
275
295
  throw error;
276
296
  }
277
297
  }
298
+ /**
299
+ * Crops the outer portion of the image by removing the area defined by the provided polygon.
300
+ * The polygon is defined by the coordinates (with optional bezier smoothing using tension).
301
+ */
278
302
  async function cropOuter(options) {
279
303
  try {
280
304
  let image;
281
- if (options.imageSource.startsWith('http')) {
305
+ if (options.imageSource.startsWith("http")) {
282
306
  image = await (0, canvas_1.loadImage)(options.imageSource);
283
307
  }
284
308
  else {
285
309
  image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
286
310
  }
311
+ // Create a canvas matching the full image dimensions.
287
312
  const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
288
313
  const ctx = canvas.getContext('2d');
314
+ if (!ctx)
315
+ throw new Error("Unable to get 2D context");
316
+ // Draw the full image.
289
317
  ctx.drawImage(image, 0, 0);
318
+ // Build the polygon path from the provided coordinates.
290
319
  ctx.beginPath();
320
+ // Start at the first coordinate's "from" point.
291
321
  ctx.moveTo(options.coordinates[0].from.x, options.coordinates[0].from.y);
292
322
  for (let i = 0; i < options.coordinates.length; i++) {
293
- const coordinate = options.coordinates[i];
294
- const nextCoordinate = options.coordinates[(i + 1) % options.coordinates.length];
295
- const tension = coordinate.tension || 0;
296
- const cp1x = coordinate.from.x + (nextCoordinate.from.x - coordinate.from.x) * tension;
297
- const cp1y = coordinate.from.y + (nextCoordinate.from.y - coordinate.from.y) * tension;
298
- const cp2x = coordinate.to.x - (nextCoordinate.to.x - coordinate.to.x) * tension;
299
- const cp2y = coordinate.to.y - (nextCoordinate.to.y - coordinate.to.y) * tension;
300
- ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, coordinate.to.x, coordinate.to.y);
323
+ const coord = options.coordinates[i];
324
+ const nextCoord = options.coordinates[(i + 1) % options.coordinates.length];
325
+ const tension = coord.tension || 0;
326
+ const cp1x = coord.from.x + (nextCoord.from.x - coord.from.x) * tension;
327
+ const cp1y = coord.from.y + (nextCoord.from.y - coord.from.y) * tension;
328
+ const cp2x = coord.to.x - (nextCoord.to.x - coord.to.x) * tension;
329
+ const cp2y = coord.to.y - (nextCoord.to.y - coord.to.y) * tension;
330
+ ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, coord.to.x, coord.to.y);
301
331
  }
302
332
  ctx.closePath();
333
+ // Set the clipping region to the polygon.
303
334
  ctx.clip();
335
+ // Clear the inner region defined by the clipping path.
304
336
  ctx.clearRect(0, 0, canvas.width, canvas.height);
305
- const buffer = canvas.toBuffer('image/png');
306
- return buffer;
337
+ return canvas.toBuffer('image/png');
307
338
  }
308
339
  catch (error) {
309
- console.error('An error occurred:', error);
340
+ console.error('An error occurred in cropOuter:', error);
310
341
  throw error;
311
342
  }
312
343
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general functions.js","sourceRoot":"","sources":["../../../../../lib/canvas/utils/General/general functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { SKRSContext2D } from "@napi-rs/canvas";
2
+ import { ImageProperties } from "../utils";
3
+ /**
4
+ * Applies shadow to the canvas context.
5
+ * @param ctx The canvas rendering context.
6
+ * @param shadow The shadow properties.
7
+ * @param x The x-coordinate of the shape.
8
+ * @param y The y-coordinate of the shape.
9
+ * @param width The width of the shape.
10
+ * @param height The height of the shape.
11
+ */
12
+ export declare function applyShadow(ctx: SKRSContext2D, shadow: ImageProperties['shadow'], x: number, y: number, width: number, height: number): void;
13
+ /**
14
+ * Applies zoom (scaling) to the canvas context around a specified point.
15
+ * @param ctx The canvas rendering context.
16
+ * @param zoom An object with scale (zoom factor) and the x/y coordinates that act as the zoom origin.
17
+ */
18
+ export declare function applyZoom(ctx: SKRSContext2D, zoom?: {
19
+ scale?: number;
20
+ x?: number;
21
+ y?: number;
22
+ }): void;
23
+ /**
24
+ * Applies stroke to the canvas context with support for selective side strokes.
25
+ * If stroke.borderPosition is "all", it uses the full rounded path.
26
+ * Otherwise, it constructs individual segments for the specified sides.
27
+ *
28
+ * @param ctx The canvas rendering context.
29
+ * @param stroke The stroke properties.
30
+ * @param x The x-coordinate of the shape.
31
+ * @param y The y-coordinate of the shape.
32
+ * @param width The width of the shape.
33
+ * @param height The height of the shape.
34
+ */
35
+ export declare function applyStroke(ctx: SKRSContext2D, stroke: ImageProperties['stroke'], x: number, y: number, width: number, height: number): void;
36
+ /**
37
+ * Draws a shape on the canvas context.
38
+ * @param ctx The canvas rendering context.
39
+ * @param shapeSettings The settings for the shape.
40
+ */
41
+ export declare function drawShape(ctx: any, shapeSettings: any): void;
42
+ export declare function createGradient(ctx: any, gradientOptions: any, startX: number, startY: number, endX: number, endY: number): any;
43
+ /**
44
+ * Applies rotation to the canvas context.
45
+ * @param ctx The canvas rendering context.
46
+ * @param rotation The rotation angle in degrees.
47
+ * @param x The x-coordinate of the center of rotation.
48
+ * @param y The y-coordinate of the center of rotation.
49
+ * @param width The width of the shape.
50
+ * @param height The height of the shape.
51
+ */
52
+ export declare function applyRotation(ctx: SKRSContext2D, rotation: number, x: number, y: number, width: number, height: number): void;
53
+ /**
54
+ * Applies border radius to the canvas context.
55
+ * @param ctx The canvas rendering context.
56
+ * @param image The image properties containing the border radius.
57
+ * @param x The x-coordinate of the shape.
58
+ * @param y The y-coordinate of the shape.
59
+ * @param width The width of the shape.
60
+ * @param height The height of the shape.
61
+ * @param borderRadius The border radius value.
62
+ * @param borderPosition The border radius position to be applied on.
63
+ */
64
+ export declare function imageRadius(ctx: any, image: any, x: number, y: number, width: number, height: number, borderRadius: any, borderPosition?: string): void;
65
+ /**
66
+ * Creates a rounded rectangle (or circular) path on the canvas context.
67
+ *
68
+ * @param ctx The canvas rendering context.
69
+ * @param x The x-coordinate of the rectangle.
70
+ * @param y The y-coordinate of the rectangle.
71
+ * @param width The width of the rectangle.
72
+ * @param height The height of the rectangle.
73
+ * @param borderRadius The radius for rounding. Use a number (or string "circular" for a circle).
74
+ * @param borderPosition Which sides/corners to round. Valid values include:
75
+ * - "all" (default)
76
+ * - "top", "bottom", "left", "right"
77
+ * - "top-left", "top-right", "bottom-left", "bottom-right"
78
+ * - Or a comma-separated list, e.g. "top-left, bottom-right" or "top, left, bottom"
79
+ */
80
+ export declare function objectRadius(ctx: SKRSContext2D, x: number, y: number, width: number, height: number, borderRadius?: number | "circular", borderPosition?: string): void;
81
+ //# sourceMappingURL=imageProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageProperties.d.ts","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Image/imageProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACvB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CA2BN;AAEH;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,IAAI,CAUN;AAEC;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CA+HN;AAEH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,QAkKrD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OA6DxH;AAGD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAON;AAGH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAE,MAAc,GAAG,IAAI,CA4B9J;AAGD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CACxB,GAAG,EAAE,aAAa,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAM,GAAG,UAAgB,EACvC,cAAc,GAAE,MAAc,GAC7B,IAAI,CAyFN"}