apexify.js 3.3.6 → 3.3.8

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 (131) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  3. package/.github/dependabot.yml +7 -0
  4. package/.tsbuildinfo +1 -1
  5. package/CODE_OF_CONDUCT.md +128 -0
  6. package/LICENSE +21 -0
  7. package/README.md +27 -21
  8. package/SECURITY.md +20 -0
  9. package/change logs.md +1 -1
  10. package/examples/barchart.txt +0 -2
  11. package/examples/linechart.txt +0 -2
  12. package/lib/ai/ApexAI.ts +116 -85
  13. package/lib/ai/functions/draw.ts +67 -69
  14. package/lib/ai/functions/generateVoiceResponse.ts +15 -22
  15. package/lib/ai/functions/readImagess.ts +6 -6
  16. package/lib/ai/functions/typeWriter.ts +0 -2
  17. package/lib/canvas/ApexPainter.ts +75 -80
  18. package/lib/canvas/utils/bg.ts +7 -4
  19. package/lib/canvas/utils/charts.ts +37 -22
  20. package/lib/canvas/utils/general functions.ts +71 -53
  21. package/lib/canvas/utils/types.ts +14 -7
  22. package/lib/index.ts +6 -6
  23. package/package.json +3 -3
  24. package/dist/ai/ApexAI.d.ts +0 -62
  25. package/dist/ai/ApexAI.d.ts.map +0 -1
  26. package/dist/ai/ApexAI.js +0 -421
  27. package/dist/ai/ApexAI.js.map +0 -1
  28. package/dist/ai/buttons/drawMenu.d.ts +0 -3
  29. package/dist/ai/buttons/drawMenu.d.ts.map +0 -1
  30. package/dist/ai/buttons/drawMenu.js +0 -274
  31. package/dist/ai/buttons/drawMenu.js.map +0 -1
  32. package/dist/ai/buttons/tools.d.ts +0 -3
  33. package/dist/ai/buttons/tools.d.ts.map +0 -1
  34. package/dist/ai/buttons/tools.js +0 -445
  35. package/dist/ai/buttons/tools.js.map +0 -1
  36. package/dist/ai/functions/aivoice.d.ts +0 -1
  37. package/dist/ai/functions/aivoice.d.ts.map +0 -1
  38. package/dist/ai/functions/aivoice.js +0 -2
  39. package/dist/ai/functions/aivoice.js.map +0 -1
  40. package/dist/ai/functions/chunkString.d.ts +0 -2
  41. package/dist/ai/functions/chunkString.d.ts.map +0 -1
  42. package/dist/ai/functions/chunkString.js +0 -8
  43. package/dist/ai/functions/chunkString.js.map +0 -1
  44. package/dist/ai/functions/draw.d.ts +0 -3
  45. package/dist/ai/functions/draw.d.ts.map +0 -1
  46. package/dist/ai/functions/draw.js +0 -387
  47. package/dist/ai/functions/draw.js.map +0 -1
  48. package/dist/ai/functions/generateVoiceResponse.d.ts +0 -3
  49. package/dist/ai/functions/generateVoiceResponse.d.ts.map +0 -1
  50. package/dist/ai/functions/generateVoiceResponse.js +0 -158
  51. package/dist/ai/functions/generateVoiceResponse.js.map +0 -1
  52. package/dist/ai/functions/imageReader.d.ts +0 -3
  53. package/dist/ai/functions/imageReader.d.ts.map +0 -1
  54. package/dist/ai/functions/imageReader.js +0 -23
  55. package/dist/ai/functions/imageReader.js.map +0 -1
  56. package/dist/ai/functions/readFiles.d.ts +0 -3
  57. package/dist/ai/functions/readFiles.d.ts.map +0 -1
  58. package/dist/ai/functions/readFiles.js +0 -62
  59. package/dist/ai/functions/readFiles.js.map +0 -1
  60. package/dist/ai/functions/readImagess.d.ts +0 -2
  61. package/dist/ai/functions/readImagess.d.ts.map +0 -1
  62. package/dist/ai/functions/readImagess.js +0 -48
  63. package/dist/ai/functions/readImagess.js.map +0 -1
  64. package/dist/ai/functions/shouldDrawImage.d.ts +0 -2
  65. package/dist/ai/functions/shouldDrawImage.d.ts.map +0 -1
  66. package/dist/ai/functions/shouldDrawImage.js +0 -12
  67. package/dist/ai/functions/shouldDrawImage.js.map +0 -1
  68. package/dist/ai/functions/typeWriter.d.ts +0 -2
  69. package/dist/ai/functions/typeWriter.d.ts.map +0 -1
  70. package/dist/ai/functions/typeWriter.js +0 -24
  71. package/dist/ai/functions/typeWriter.js.map +0 -1
  72. package/dist/ai/models.d.ts +0 -9
  73. package/dist/ai/models.d.ts.map +0 -1
  74. package/dist/ai/models.js +0 -575
  75. package/dist/ai/models.js.map +0 -1
  76. package/dist/ai/utils.d.ts +0 -11
  77. package/dist/ai/utils.d.ts.map +0 -1
  78. package/dist/ai/utils.js +0 -24
  79. package/dist/ai/utils.js.map +0 -1
  80. package/dist/canvas/ApexPainter.d.ts +0 -38
  81. package/dist/canvas/ApexPainter.d.ts.map +0 -1
  82. package/dist/canvas/ApexPainter.js +0 -439
  83. package/dist/canvas/ApexPainter.js.map +0 -1
  84. package/dist/canvas/utils/bg.d.ts +0 -23
  85. package/dist/canvas/utils/bg.d.ts.map +0 -1
  86. package/dist/canvas/utils/bg.js +0 -74
  87. package/dist/canvas/utils/bg.js.map +0 -1
  88. package/dist/canvas/utils/charts.d.ts +0 -9
  89. package/dist/canvas/utils/charts.d.ts.map +0 -1
  90. package/dist/canvas/utils/charts.js +0 -454
  91. package/dist/canvas/utils/charts.js.map +0 -1
  92. package/dist/canvas/utils/circular.d.ts +0 -10
  93. package/dist/canvas/utils/circular.d.ts.map +0 -1
  94. package/dist/canvas/utils/circular.js +0 -22
  95. package/dist/canvas/utils/circular.js.map +0 -1
  96. package/dist/canvas/utils/customLines.d.ts +0 -2
  97. package/dist/canvas/utils/customLines.d.ts.map +0 -1
  98. package/dist/canvas/utils/customLines.js +0 -50
  99. package/dist/canvas/utils/customLines.js.map +0 -1
  100. package/dist/canvas/utils/general functions.d.ts +0 -21
  101. package/dist/canvas/utils/general functions.d.ts.map +0 -1
  102. package/dist/canvas/utils/general functions.js +0 -391
  103. package/dist/canvas/utils/general functions.js.map +0 -1
  104. package/dist/canvas/utils/imageProperties.d.ts +0 -60
  105. package/dist/canvas/utils/imageProperties.d.ts.map +0 -1
  106. package/dist/canvas/utils/imageProperties.js +0 -331
  107. package/dist/canvas/utils/imageProperties.js.map +0 -1
  108. package/dist/canvas/utils/radius.d.ts +0 -10
  109. package/dist/canvas/utils/radius.d.ts.map +0 -1
  110. package/dist/canvas/utils/radius.js +0 -31
  111. package/dist/canvas/utils/radius.js.map +0 -1
  112. package/dist/canvas/utils/textProperties.d.ts +0 -18
  113. package/dist/canvas/utils/textProperties.d.ts.map +0 -1
  114. package/dist/canvas/utils/textProperties.js +0 -67
  115. package/dist/canvas/utils/textProperties.js.map +0 -1
  116. package/dist/canvas/utils/types.d.ts +0 -414
  117. package/dist/canvas/utils/types.d.ts.map +0 -1
  118. package/dist/canvas/utils/types.js +0 -5
  119. package/dist/canvas/utils/types.js.map +0 -1
  120. package/dist/canvas/utils/utils.d.ts +0 -20
  121. package/dist/canvas/utils/utils.d.ts.map +0 -1
  122. package/dist/canvas/utils/utils.js +0 -48
  123. package/dist/canvas/utils/utils.js.map +0 -1
  124. package/dist/index.d.ts +0 -11
  125. package/dist/index.d.ts.map +0 -1
  126. package/dist/index.js +0 -65
  127. package/dist/index.js.map +0 -1
  128. package/dist/utils.d.ts +0 -12
  129. package/dist/utils.d.ts.map +0 -1
  130. package/dist/utils.js +0 -12
  131. package/dist/utils.js.map +0 -1
@@ -1,21 +0,0 @@
1
- /// <reference types="node" />
2
- import sharp from 'sharp';
3
- import { cropOptions } from './types';
4
- export declare function loadImages(imagePath: string): Promise<sharp.Sharp>;
5
- export declare function resizingImg(resizeOptions: any): Promise<any>;
6
- export declare function converter(imagePath: string, newExtension: string): Promise<Buffer>;
7
- export declare function applyColorFilters(imagePath: string, filterColor: string): Promise<any>;
8
- export declare function imgEffects(imagePath: string, filters: any[]): Promise<Buffer>;
9
- export declare function cropInner(options: cropOptions): Promise<any>;
10
- export declare function cropOuter(options: cropOptions): Promise<any>;
11
- export declare function detectColors(imagePath: string): Promise<{
12
- color: string;
13
- frequency: string;
14
- }[]>;
15
- export declare function removeColor(inputImagePath: string, colorToRemove: {
16
- red: number;
17
- green: number;
18
- blue: number;
19
- }): Promise<Buffer | undefined>;
20
- export declare function bgRemoval(imgURL: string, API_KEY: string): Promise<Buffer | undefined>;
21
- //# sourceMappingURL=general%20functions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"general functions.d.ts","sourceRoot":"","sources":["../../../lib/canvas/utils/general functions.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,wBAmBjD;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAiClE;AAED,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBA+BtE;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBA4B7E;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAG,OAAO,EAAE,GAAG,EAAE,mBAyFlE;AAGD,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CA8DlE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CA0ClE;AAGD,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CA6CrG;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,CAoClJ;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB5F"}
@@ -1,391 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.bgRemoval = exports.removeColor = exports.detectColors = exports.cropOuter = exports.cropInner = exports.imgEffects = exports.applyColorFilters = exports.converter = exports.resizingImg = exports.loadImages = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const path_1 = __importDefault(require("path"));
9
- const sharp_1 = __importDefault(require("sharp"));
10
- const canvas_1 = require("@napi-rs/canvas");
11
- const jimp_1 = __importDefault(require("jimp"));
12
- async function loadImages(imagePath) {
13
- try {
14
- if (!imagePath) {
15
- throw new Error("Image path is required.");
16
- }
17
- if (imagePath.startsWith("http")) {
18
- const response = await axios_1.default.get(imagePath, {
19
- responseType: "arraybuffer",
20
- });
21
- return (0, sharp_1.default)(response.data);
22
- }
23
- else {
24
- const absolutePath = path_1.default.join(process.cwd(), imagePath);
25
- return (0, sharp_1.default)(absolutePath);
26
- }
27
- }
28
- catch (error) {
29
- console.error("Error loading image:", error);
30
- throw new Error("Failed to load image");
31
- }
32
- }
33
- exports.loadImages = loadImages;
34
- async function resizingImg(resizeOptions) {
35
- var _a, _b, _c, _d;
36
- try {
37
- if (!resizeOptions.imagePath) {
38
- throw new Error("Image path is required for resizing.");
39
- }
40
- let absoluteImagePath;
41
- if (resizeOptions.imagePath.startsWith("http")) {
42
- absoluteImagePath = resizeOptions.imagePath;
43
- }
44
- else {
45
- absoluteImagePath = path_1.default.join(process.cwd(), resizeOptions.imagePath);
46
- }
47
- const image = await (0, canvas_1.loadImage)(absoluteImagePath);
48
- const canvas = (0, canvas_1.createCanvas)(((_a = resizeOptions.size) === null || _a === void 0 ? void 0 : _a.width) || 500, ((_b = resizeOptions.size) === null || _b === void 0 ? void 0 : _b.height) || 500);
49
- const ctx = canvas.getContext('2d');
50
- if (!ctx) {
51
- throw new Error('Unable to get 2D rendering context from canvas');
52
- }
53
- ctx.drawImage(image, 0, 0, ((_c = resizeOptions.size) === null || _c === void 0 ? void 0 : _c.width) || 500, ((_d = resizeOptions.size) === null || _d === void 0 ? void 0 : _d.height) || 500);
54
- const resizedBuffer = await canvas.toBuffer('image/png');
55
- return resizedBuffer;
56
- }
57
- catch (error) {
58
- console.error("Error resizing image:", error);
59
- throw new Error("Failed to resize image");
60
- }
61
- }
62
- exports.resizingImg = resizingImg;
63
- async function converter(imagePath, newExtension) {
64
- try {
65
- const validExtensions = ['jpeg', 'png', 'webp', 'tiff', 'gif', 'avif', 'heif', 'raw', 'pdf', 'svg'];
66
- const newExt = newExtension.toLowerCase();
67
- if (!validExtensions.includes(newExt)) {
68
- throw new Error(`Invalid image format: ${newExt}`);
69
- }
70
- let image;
71
- if (imagePath.startsWith("http")) {
72
- const response = await axios_1.default.get(imagePath, {
73
- responseType: "arraybuffer",
74
- });
75
- image = (0, sharp_1.default)(Buffer.from(response.data));
76
- }
77
- else {
78
- if (!imagePath) {
79
- throw new Error("Image path is required.");
80
- }
81
- const absolutePath = path_1.default.join(process.cwd(), imagePath);
82
- image = (0, sharp_1.default)(absolutePath);
83
- }
84
- const convertedBuffer = await image.toFormat(newExt).toBuffer();
85
- return convertedBuffer;
86
- }
87
- catch (error) {
88
- console.error("Error changing image extension:", error);
89
- throw new Error("Failed to change image extension");
90
- }
91
- }
92
- exports.converter = converter;
93
- async function applyColorFilters(imagePath, filterColor) {
94
- try {
95
- let image;
96
- if (imagePath.startsWith("http")) {
97
- const pngBuffer = await converter(imagePath, "png");
98
- image = (0, sharp_1.default)(pngBuffer);
99
- }
100
- else {
101
- const imagePathResolved = path_1.default.join(process.cwd(), imagePath);
102
- image = (0, sharp_1.default)(imagePathResolved);
103
- }
104
- const hexColorRegex = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
105
- if (!hexColorRegex.test(filterColor)) {
106
- throw new Error("Invalid color format. Only hex colors are supported.");
107
- }
108
- image.tint(filterColor);
109
- const outputBuffer = await image.toBuffer();
110
- return outputBuffer;
111
- }
112
- catch (error) {
113
- console.error("Error applying color filter:", error);
114
- throw new Error("Failed to apply color filter");
115
- }
116
- }
117
- exports.applyColorFilters = applyColorFilters;
118
- async function imgEffects(imagePath, filters) {
119
- try {
120
- let jimpImage;
121
- if (imagePath.startsWith("http")) {
122
- const pngBuffer = await converter(imagePath, "png");
123
- jimpImage = await jimp_1.default.read(pngBuffer);
124
- }
125
- else {
126
- const imagePathResolved = path_1.default.join(process.cwd(), imagePath);
127
- jimpImage = await jimp_1.default.read(imagePathResolved);
128
- }
129
- for (const filter of filters) {
130
- switch (filter.type) {
131
- case "flip":
132
- jimpImage.flip(filter.horizontal, filter.vertical);
133
- break;
134
- case "mirror":
135
- jimpImage.mirror(filter.horizontal, filter.vertical);
136
- break;
137
- case "rotate":
138
- jimpImage.rotate(filter.deg, filter.mode);
139
- break;
140
- case "brightness":
141
- jimpImage.brightness(filter.value);
142
- break;
143
- case "contrast":
144
- jimpImage.contrast(filter.value);
145
- break;
146
- case "dither565":
147
- jimpImage.dither565();
148
- break;
149
- case "greyscale":
150
- jimpImage.greyscale();
151
- break;
152
- case "invert":
153
- jimpImage.invert();
154
- break;
155
- case "normalize":
156
- jimpImage.normalize();
157
- break;
158
- case "autocrop":
159
- jimpImage.autocrop(filter.tolerance || 0);
160
- break;
161
- case "crop":
162
- jimpImage.crop(filter.x, filter.y, filter.w, filter.h);
163
- break;
164
- case "fade":
165
- jimpImage.fade(filter.factor);
166
- break;
167
- case "opacity":
168
- jimpImage.opacity(filter.factor);
169
- break;
170
- case "opaque":
171
- jimpImage.opaque();
172
- break;
173
- case "gaussian":
174
- jimpImage.gaussian(filter.radius);
175
- break;
176
- case "blur":
177
- jimpImage.blur(filter.radius);
178
- break;
179
- case "posterize":
180
- jimpImage.posterize(filter.levels);
181
- break;
182
- case "sepia":
183
- jimpImage.sepia();
184
- break;
185
- case "pixelate":
186
- jimpImage.pixelate(filter.size, filter.x, filter.y, filter.w, filter.h);
187
- break;
188
- default:
189
- console.error(`Unsupported filter type: ${filter.type}`);
190
- }
191
- }
192
- const outputMimeType = jimpImage._originalMime || jimp_1.default.MIME_PNG;
193
- return await jimpImage.getBufferAsync(outputMimeType);
194
- }
195
- catch (error) {
196
- console.error("Error processing image:", error.message);
197
- throw new Error("Failed to process image");
198
- }
199
- }
200
- exports.imgEffects = imgEffects;
201
- async function cropInner(options) {
202
- try {
203
- let image;
204
- if (options.imageSource.startsWith('http')) {
205
- image = await (0, canvas_1.loadImage)(options.imageSource);
206
- }
207
- else {
208
- image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
209
- }
210
- const width = Math.abs(options.coordinates[0].from.x - options.coordinates[1].to.x);
211
- const height = Math.abs(options.coordinates[0].from.y - options.coordinates[2].to.y);
212
- const canvas = (0, canvas_1.createCanvas)(width, height);
213
- const ctx = canvas.getContext('2d');
214
- if (options.radius === 'circular') {
215
- const radius = Math.min(width, height) / 2;
216
- ctx.arc(width / 2, height / 2, radius, 0, Math.PI * 2);
217
- ctx.closePath();
218
- ctx.clip();
219
- }
220
- else if (typeof options.radius === 'number' && options.radius >= 0) {
221
- ctx.beginPath();
222
- ctx.moveTo(options.radius, 0);
223
- ctx.lineTo(width - options.radius, 0);
224
- ctx.quadraticCurveTo(width, 0, width, options.radius);
225
- ctx.lineTo(width, height - options.radius);
226
- ctx.quadraticCurveTo(width, height, width - options.radius, height);
227
- ctx.lineTo(options.radius, height);
228
- ctx.quadraticCurveTo(0, height, 0, height - options.radius);
229
- ctx.lineTo(0, options.radius);
230
- ctx.quadraticCurveTo(0, 0, options.radius, 0);
231
- ctx.closePath();
232
- ctx.clip();
233
- }
234
- else if (options.radius !== null && options.radius !== 'circular' && typeof options.radius !== 'number') {
235
- throw new Error('The "radius" option can only be "circular" or a non-negative number.');
236
- }
237
- ctx.drawImage(image, options.coordinates[0].from.x, options.coordinates[0].from.y, width, height, 0, 0, width, height);
238
- ctx.beginPath();
239
- for (let i = 0; i < options.coordinates.length; i++) {
240
- const coordinate = options.coordinates[i];
241
- const nextCoordinate = options.coordinates[(i + 1) % options.coordinates.length];
242
- const tension = coordinate.tension || 0;
243
- const cp1x = coordinate.from.x + (nextCoordinate.from.x - coordinate.from.x) * tension;
244
- const cp1y = coordinate.from.y + (nextCoordinate.from.y - coordinate.from.y) * tension;
245
- const cp2x = coordinate.to.x - (nextCoordinate.to.x - coordinate.to.x) * tension;
246
- const cp2y = coordinate.to.y - (nextCoordinate.to.y - coordinate.to.y) * tension;
247
- ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, coordinate.to.x, coordinate.to.y);
248
- }
249
- ctx.closePath();
250
- const buffer = canvas.toBuffer('image/png');
251
- return buffer;
252
- }
253
- catch (error) {
254
- console.error('An error occurred:', error);
255
- throw error;
256
- }
257
- }
258
- exports.cropInner = cropInner;
259
- async function cropOuter(options) {
260
- try {
261
- let image;
262
- if (options.imageSource.startsWith('http')) {
263
- image = await (0, canvas_1.loadImage)(options.imageSource);
264
- }
265
- else {
266
- image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
267
- }
268
- const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
269
- const ctx = canvas.getContext('2d');
270
- ctx.drawImage(image, 0, 0);
271
- ctx.beginPath();
272
- ctx.moveTo(options.coordinates[0].from.x, options.coordinates[0].from.y);
273
- for (let i = 0; i < options.coordinates.length; i++) {
274
- const coordinate = options.coordinates[i];
275
- const nextCoordinate = options.coordinates[(i + 1) % options.coordinates.length];
276
- const tension = coordinate.tension || 0;
277
- const cp1x = coordinate.from.x + (nextCoordinate.from.x - coordinate.from.x) * tension;
278
- const cp1y = coordinate.from.y + (nextCoordinate.from.y - coordinate.from.y) * tension;
279
- const cp2x = coordinate.to.x - (nextCoordinate.to.x - coordinate.to.x) * tension;
280
- const cp2y = coordinate.to.y - (nextCoordinate.to.y - coordinate.to.y) * tension;
281
- ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, coordinate.to.x, coordinate.to.y);
282
- }
283
- ctx.closePath();
284
- ctx.clip();
285
- ctx.clearRect(0, 0, canvas.width, canvas.height);
286
- const buffer = canvas.toBuffer('image/png');
287
- return buffer;
288
- }
289
- catch (error) {
290
- console.error('An error occurred:', error);
291
- throw error;
292
- }
293
- }
294
- exports.cropOuter = cropOuter;
295
- async function detectColors(imagePath) {
296
- try {
297
- let image;
298
- if (imagePath.startsWith('http')) {
299
- const response = await axios_1.default.get(imagePath, { responseType: 'arraybuffer' });
300
- const buffer = Buffer.from(response.data, 'binary');
301
- image = await (0, canvas_1.loadImage)(buffer);
302
- }
303
- else {
304
- const localImagePath = path_1.default.join(process.cwd(), imagePath);
305
- image = await (0, canvas_1.loadImage)(localImagePath);
306
- }
307
- const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
308
- const ctx = canvas.getContext('2d');
309
- ctx.drawImage(image, 0, 0, image.width, image.height);
310
- const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
311
- const data = imageData.data;
312
- const colorFrequency = {};
313
- for (let i = 0; i < data.length; i += 4) {
314
- const red = data[i];
315
- const green = data[i + 1];
316
- const blue = data[i + 2];
317
- const color = `${red},${green},${blue}`;
318
- colorFrequency[color] = (colorFrequency[color] || 0) + 1;
319
- }
320
- const totalPixels = canvas.width * canvas.height;
321
- const dominantColors = Object.entries(colorFrequency)
322
- .filter(([color, frequency]) => (frequency / totalPixels) * 100 >= 2)
323
- .map(([color, frequency]) => ({
324
- color,
325
- frequency: ((frequency / totalPixels) * 100).toFixed(2),
326
- }));
327
- return dominantColors;
328
- }
329
- catch (error) {
330
- console.error('Error:', error);
331
- return [];
332
- }
333
- }
334
- exports.detectColors = detectColors;
335
- async function removeColor(inputImagePath, colorToRemove) {
336
- try {
337
- let image;
338
- if (inputImagePath.startsWith('http')) {
339
- const response = await axios_1.default.get(inputImagePath, { responseType: 'arraybuffer' });
340
- const buffer = Buffer.from(response.data, 'binary');
341
- image = await (0, canvas_1.loadImage)(buffer);
342
- }
343
- else {
344
- const localImagePath = path_1.default.join(process.cwd(), inputImagePath);
345
- image = await (0, canvas_1.loadImage)(localImagePath);
346
- }
347
- const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
348
- const ctx = canvas.getContext('2d');
349
- ctx.drawImage(image, 0, 0, image.width, image.height);
350
- const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
351
- for (let i = 0; i < imageData.data.length; i += 4) {
352
- const red = imageData.data[i];
353
- const green = imageData.data[i + 1];
354
- const blue = imageData.data[i + 2];
355
- const alpha = imageData.data[i + 3];
356
- if (red === colorToRemove.red && green === colorToRemove.green && blue === colorToRemove.blue) {
357
- imageData.data[i + 3] = 0;
358
- }
359
- }
360
- ctx.putImageData(imageData, 0, 0);
361
- return canvas.toBuffer('image/png');
362
- }
363
- catch (error) {
364
- console.error('Error:', error);
365
- return undefined;
366
- }
367
- }
368
- exports.removeColor = removeColor;
369
- async function bgRemoval(imgURL, API_KEY) {
370
- try {
371
- if (!API_KEY) {
372
- throw new Error("API_KEY is required. Please visit remove.bg, create an account, and obtain your API key at: https://accounts.kaleido.ai/users/sign_in#api-key");
373
- }
374
- const response = await axios_1.default.post('https://api.remove.bg/v1.0/removebg', {
375
- image_url: imgURL,
376
- size: 'auto'
377
- }, {
378
- headers: {
379
- 'X-Api-Key': API_KEY
380
- },
381
- responseType: 'arraybuffer'
382
- });
383
- return Buffer.from(response.data, 'binary');
384
- }
385
- catch (error) {
386
- console.error('Error:', error);
387
- return undefined;
388
- }
389
- }
390
- exports.bgRemoval = bgRemoval;
391
- //# sourceMappingURL=general%20functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"general functions.js","sourceRoot":"","sources":["../../../lib/canvas/utils/general functions.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- import { ImageProperties } from "./utils";
2
- /**
3
- * Applies shadow to the canvas context.
4
- * @param ctx The canvas rendering context.
5
- * @param shadow The shadow properties.
6
- * @param x The x-coordinate of the shape.
7
- * @param y The y-coordinate of the shape.
8
- * @param width The width of the shape.
9
- * @param height The height of the shape.
10
- */
11
- export declare function applyShadow(ctx: any, shadow: ImageProperties['shadow'], x: number, y: number, width: number, height: number): void;
12
- /**
13
- * Applies stroke to the canvas context.
14
- * @param ctx The canvas rendering context.
15
- * @param stroke The stroke properties.
16
- * @param x The x-coordinate of the shape.
17
- * @param y The y-coordinate of the shape.
18
- * @param width The width of the shape.
19
- * @param height The height of the shape.
20
- */
21
- export declare function applyStroke(ctx: any, stroke: ImageProperties['stroke'], x: number, y: number, width: number, height: number, gradient?: any): void;
22
- /**
23
- * Draws a shape on the canvas context.
24
- * @param ctx The canvas rendering context.
25
- * @param shapeSettings The settings for the shape.
26
- */
27
- export declare function drawShape(ctx: any, shapeSettings: any): void;
28
- export declare function createGradient(ctx: any, gradientOptions: any, startX: number, startY: number, endX: number, endY: number): any;
29
- /**
30
- * Applies rotation to the canvas context.
31
- * @param ctx The canvas rendering context.
32
- * @param rotation The rotation angle in degrees.
33
- * @param x The x-coordinate of the center of rotation.
34
- * @param y The y-coordinate of the center of rotation.
35
- * @param width The width of the shape.
36
- * @param height The height of the shape.
37
- */
38
- export declare function applyRotation(ctx: any, rotation: number, x: number, y: number, width: number, height: number): void;
39
- /**
40
- * Applies border radius to the canvas context.
41
- * @param ctx The canvas rendering context.
42
- * @param image The image properties containing the border radius.
43
- * @param x The x-coordinate of the shape.
44
- * @param y The y-coordinate of the shape.
45
- * @param width The width of the shape.
46
- * @param height The height of the shape.
47
- * @param borderRadius The border radius value.
48
- */
49
- export declare function imageRadius(ctx: any, image: any, x: number, y: number, width: number, height: number, borderRadius: any): void;
50
- /**
51
- * Applies border radius to the canvas context for objects.
52
- * @param ctx The canvas rendering context.
53
- * @param x The x-coordinate of the object.
54
- * @param y The y-coordinate of the object.
55
- * @param width The width of the object.
56
- * @param height The height of the object.
57
- * @param borderRadius The border radius value.
58
- */
59
- export declare function objectRadius(ctx: any, x: any, y: any, width: number, height: number, borderRadius?: any): void;
60
- //# sourceMappingURL=imageProperties.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageProperties.d.ts","sourceRoot":"","sources":["../../../lib/canvas/utils/imageProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyBlI;AAID;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CA8BlJ;AAED;;;;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,OAoDxH;AAGD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQnH;AAED;;;;;;;;;GASG;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,GAAI,IAAI,CA4B/H;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAE,GAAS,GAAG,IAAI,CA4BnH"}