apexify.js 4.9.26 → 4.9.27

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 (108) hide show
  1. package/README.md +358 -47
  2. package/dist/cjs/Canvas/ApexPainter.d.ts +122 -78
  3. package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
  4. package/dist/cjs/Canvas/ApexPainter.js +461 -352
  5. package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
  6. package/dist/cjs/Canvas/utils/Background/bg.d.ts +23 -11
  7. package/dist/cjs/Canvas/utils/Background/bg.d.ts.map +1 -1
  8. package/dist/cjs/Canvas/utils/Background/bg.js +174 -107
  9. package/dist/cjs/Canvas/utils/Background/bg.js.map +1 -1
  10. package/dist/cjs/Canvas/utils/Custom/customLines.js +2 -2
  11. package/dist/cjs/Canvas/utils/Custom/customLines.js.map +1 -1
  12. package/dist/cjs/Canvas/utils/Image/imageFilters.d.ts +11 -0
  13. package/dist/cjs/Canvas/utils/Image/imageFilters.d.ts.map +1 -0
  14. package/dist/cjs/Canvas/utils/Image/imageFilters.js +307 -0
  15. package/dist/cjs/Canvas/utils/Image/imageFilters.js.map +1 -0
  16. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts +47 -112
  17. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  18. package/dist/cjs/Canvas/utils/Image/imageProperties.js +229 -560
  19. package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -1
  20. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts +11 -0
  21. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -0
  22. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js +351 -0
  23. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js.map +1 -0
  24. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts +11 -0
  25. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -0
  26. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js +215 -0
  27. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -0
  28. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts +71 -0
  29. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -0
  30. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js +392 -0
  31. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -0
  32. package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts +29 -0
  33. package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts.map +1 -0
  34. package/dist/cjs/Canvas/utils/Shapes/shapes.js +334 -0
  35. package/dist/cjs/Canvas/utils/Shapes/shapes.js.map +1 -0
  36. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts +127 -0
  37. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -0
  38. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +365 -0
  39. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -0
  40. package/dist/cjs/Canvas/utils/types.d.ts +227 -131
  41. package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
  42. package/dist/cjs/Canvas/utils/types.js +0 -1
  43. package/dist/cjs/Canvas/utils/types.js.map +1 -1
  44. package/dist/cjs/Canvas/utils/utils.d.ts +7 -4
  45. package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -1
  46. package/dist/cjs/Canvas/utils/utils.js +17 -7
  47. package/dist/cjs/Canvas/utils/utils.js.map +1 -1
  48. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  49. package/dist/esm/Canvas/ApexPainter.d.ts +122 -78
  50. package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
  51. package/dist/esm/Canvas/ApexPainter.js +461 -352
  52. package/dist/esm/Canvas/ApexPainter.js.map +1 -1
  53. package/dist/esm/Canvas/utils/Background/bg.d.ts +23 -11
  54. package/dist/esm/Canvas/utils/Background/bg.d.ts.map +1 -1
  55. package/dist/esm/Canvas/utils/Background/bg.js +174 -107
  56. package/dist/esm/Canvas/utils/Background/bg.js.map +1 -1
  57. package/dist/esm/Canvas/utils/Custom/customLines.js +2 -2
  58. package/dist/esm/Canvas/utils/Custom/customLines.js.map +1 -1
  59. package/dist/esm/Canvas/utils/Image/imageFilters.d.ts +11 -0
  60. package/dist/esm/Canvas/utils/Image/imageFilters.d.ts.map +1 -0
  61. package/dist/esm/Canvas/utils/Image/imageFilters.js +307 -0
  62. package/dist/esm/Canvas/utils/Image/imageFilters.js.map +1 -0
  63. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts +47 -112
  64. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  65. package/dist/esm/Canvas/utils/Image/imageProperties.js +229 -560
  66. package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -1
  67. package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts +11 -0
  68. package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -0
  69. package/dist/esm/Canvas/utils/Image/professionalImageFilters.js +351 -0
  70. package/dist/esm/Canvas/utils/Image/professionalImageFilters.js.map +1 -0
  71. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts +11 -0
  72. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -0
  73. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js +215 -0
  74. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -0
  75. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts +71 -0
  76. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -0
  77. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js +392 -0
  78. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -0
  79. package/dist/esm/Canvas/utils/Shapes/shapes.d.ts +29 -0
  80. package/dist/esm/Canvas/utils/Shapes/shapes.d.ts.map +1 -0
  81. package/dist/esm/Canvas/utils/Shapes/shapes.js +334 -0
  82. package/dist/esm/Canvas/utils/Shapes/shapes.js.map +1 -0
  83. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts +127 -0
  84. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -0
  85. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +365 -0
  86. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -0
  87. package/dist/esm/Canvas/utils/types.d.ts +227 -131
  88. package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
  89. package/dist/esm/Canvas/utils/types.js +0 -1
  90. package/dist/esm/Canvas/utils/types.js.map +1 -1
  91. package/dist/esm/Canvas/utils/utils.d.ts +7 -4
  92. package/dist/esm/Canvas/utils/utils.d.ts.map +1 -1
  93. package/dist/esm/Canvas/utils/utils.js +17 -7
  94. package/dist/esm/Canvas/utils/utils.js.map +1 -1
  95. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  96. package/lib/Canvas/ApexPainter.ts +1325 -1218
  97. package/lib/Canvas/utils/Background/bg.ts +247 -173
  98. package/lib/Canvas/utils/Custom/customLines.ts +3 -3
  99. package/lib/Canvas/utils/Image/imageFilters.ts +356 -0
  100. package/lib/Canvas/utils/Image/imageProperties.ts +322 -775
  101. package/lib/Canvas/utils/Image/professionalImageFilters.ts +391 -0
  102. package/lib/Canvas/utils/Image/simpleProfessionalFilters.ts +229 -0
  103. package/lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts +444 -0
  104. package/lib/Canvas/utils/Shapes/shapes.ts +528 -0
  105. package/lib/Canvas/utils/Texts/enhancedTextRenderer.ts +478 -0
  106. package/lib/Canvas/utils/types.ts +301 -117
  107. package/lib/Canvas/utils/utils.ts +85 -72
  108. package/package.json +106 -188
@@ -0,0 +1,215 @@
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.applySimpleProfessionalFilters = applySimpleProfessionalFilters;
7
+ const sharp_1 = __importDefault(require("sharp"));
8
+ /**
9
+ * Applies professional image filters using Sharp (simplified version)
10
+ * @param ctx Canvas 2D context
11
+ * @param filters Array of filters to apply
12
+ * @param width Canvas width
13
+ * @param height Canvas height
14
+ */
15
+ async function applySimpleProfessionalFilters(ctx, filters, width, height) {
16
+ if (!filters || filters.length === 0)
17
+ return;
18
+ try {
19
+ // Get current canvas data
20
+ const imageData = ctx.getImageData(0, 0, width, height);
21
+ // Convert Uint8ClampedArray to Buffer for Sharp
22
+ const buffer = Buffer.from(new Uint8Array(imageData.data.buffer));
23
+ // Convert to Sharp-compatible format
24
+ let sharpImage = (0, sharp_1.default)(buffer, {
25
+ raw: {
26
+ width: width,
27
+ height: height,
28
+ channels: 4
29
+ }
30
+ });
31
+ // Apply each filter using Sharp
32
+ for (const filter of filters) {
33
+ switch (filter.type) {
34
+ case 'gaussianBlur':
35
+ if (filter.intensity && filter.intensity > 0) {
36
+ sharpImage = sharpImage.blur(filter.intensity);
37
+ }
38
+ break;
39
+ case 'sharpen':
40
+ if (filter.intensity && filter.intensity > 0) {
41
+ sharpImage = sharpImage.sharpen(filter.intensity);
42
+ }
43
+ break;
44
+ case 'brightness':
45
+ if (filter.value !== undefined && filter.value !== 0) {
46
+ const brightness = Math.max(0, Math.min(2, 1 + filter.value / 100));
47
+ sharpImage = sharpImage.modulate({ brightness });
48
+ }
49
+ break;
50
+ case 'contrast':
51
+ if (filter.value !== undefined && filter.value !== 0) {
52
+ const contrast = Math.max(0, Math.min(2, 1 + filter.value / 100));
53
+ sharpImage = sharpImage.linear(contrast, -(128 * contrast) + 128);
54
+ }
55
+ break;
56
+ case 'saturation':
57
+ if (filter.value !== undefined && filter.value !== 0) {
58
+ const saturation = Math.max(0, Math.min(2, 1 + filter.value / 100));
59
+ sharpImage = sharpImage.modulate({ saturation });
60
+ }
61
+ break;
62
+ case 'hueShift':
63
+ if (filter.value !== undefined && filter.value !== 0) {
64
+ sharpImage = sharpImage.modulate({ hue: filter.value });
65
+ }
66
+ break;
67
+ case 'grayscale':
68
+ sharpImage = sharpImage.grayscale();
69
+ break;
70
+ case 'sepia':
71
+ sharpImage = sharpImage.recomb([
72
+ [0.393, 0.769, 0.189],
73
+ [0.349, 0.686, 0.168],
74
+ [0.272, 0.534, 0.131]
75
+ ]);
76
+ break;
77
+ case 'invert':
78
+ sharpImage = sharpImage.negate();
79
+ break;
80
+ case 'posterize':
81
+ if (filter.levels && filter.levels > 1) {
82
+ sharpImage = sharpImage.threshold(128);
83
+ }
84
+ break;
85
+ case 'pixelate':
86
+ if (filter.size && filter.size > 1) {
87
+ const { width: imgWidth, height: imgHeight } = await sharpImage.metadata();
88
+ const scale = Math.max(1, Math.floor(Math.min(imgWidth || 1, imgHeight || 1) / filter.size));
89
+ sharpImage = sharpImage.resize({ width: scale, height: scale, kernel: sharp_1.default.kernel.nearest })
90
+ .resize({ width: imgWidth, height: imgHeight, kernel: sharp_1.default.kernel.nearest });
91
+ }
92
+ break;
93
+ case 'motionBlur':
94
+ case 'radialBlur':
95
+ case 'noise':
96
+ case 'grain':
97
+ case 'edgeDetection':
98
+ case 'emboss':
99
+ // Use basic canvas filters for complex effects
100
+ applyBasicCanvasFilter(ctx, filter, width, height);
101
+ return; // Skip Sharp processing for these
102
+ }
103
+ }
104
+ // Convert back to canvas format
105
+ const { data } = await sharpImage.raw().toBuffer({ resolveWithObject: true });
106
+ const newImageData = ctx.createImageData(width, height);
107
+ newImageData.data.set(new Uint8ClampedArray(data));
108
+ ctx.putImageData(newImageData, 0, 0);
109
+ }
110
+ catch (error) {
111
+ console.error('Error applying professional filters:', error);
112
+ // Fallback to basic filters if Sharp fails
113
+ applyBasicCanvasFilters(ctx, filters, width, height);
114
+ }
115
+ }
116
+ // Basic canvas filter implementations for complex effects
117
+ function applyBasicCanvasFilter(ctx, filter, width, height) {
118
+ ctx.save();
119
+ switch (filter.type) {
120
+ case 'motionBlur':
121
+ if (filter.intensity && filter.intensity > 0) {
122
+ const radians = ((filter.angle || 0) * Math.PI) / 180;
123
+ const blurX = Math.cos(radians) * filter.intensity;
124
+ const blurY = Math.sin(radians) * filter.intensity;
125
+ ctx.filter = `blur(${Math.abs(blurX)}px ${Math.abs(blurY)}px)`;
126
+ }
127
+ break;
128
+ case 'radialBlur':
129
+ if (filter.intensity && filter.intensity > 0) {
130
+ ctx.filter = `blur(${filter.intensity}px)`;
131
+ }
132
+ break;
133
+ case 'noise':
134
+ if (filter.intensity && filter.intensity > 0) {
135
+ const imageData = ctx.getImageData(0, 0, width, height);
136
+ const data = imageData.data;
137
+ for (let i = 0; i < data.length; i += 4) {
138
+ const noise = (Math.random() - 0.5) * filter.intensity * 255;
139
+ data[i] = Math.max(0, Math.min(255, data[i] + noise)); // R
140
+ data[i + 1] = Math.max(0, Math.min(255, data[i + 1] + noise)); // G
141
+ data[i + 2] = Math.max(0, Math.min(255, data[i + 2] + noise)); // B
142
+ }
143
+ ctx.putImageData(imageData, 0, 0);
144
+ }
145
+ break;
146
+ case 'grain':
147
+ if (filter.intensity && filter.intensity > 0) {
148
+ const imageData = ctx.getImageData(0, 0, width, height);
149
+ const data = imageData.data;
150
+ for (let i = 0; i < data.length; i += 4) {
151
+ const grain = (Math.random() - 0.5) * filter.intensity * 100;
152
+ data[i] = Math.max(0, Math.min(255, data[i] + grain)); // R
153
+ data[i + 1] = Math.max(0, Math.min(255, data[i + 1] + grain)); // G
154
+ data[i + 2] = Math.max(0, Math.min(255, data[i + 2] + grain)); // B
155
+ }
156
+ ctx.putImageData(imageData, 0, 0);
157
+ }
158
+ break;
159
+ case 'edgeDetection':
160
+ if (filter.intensity && filter.intensity > 0) {
161
+ ctx.filter = `contrast(${100 + filter.intensity * 50}%) brightness(${100 - filter.intensity * 20}%)`;
162
+ }
163
+ break;
164
+ case 'emboss':
165
+ if (filter.intensity && filter.intensity > 0) {
166
+ ctx.filter = `contrast(${100 + filter.intensity * 30}%) brightness(${100 + filter.intensity * 10}%)`;
167
+ }
168
+ break;
169
+ }
170
+ ctx.restore();
171
+ }
172
+ // Fallback basic filters
173
+ function applyBasicCanvasFilters(ctx, filters, width, height) {
174
+ ctx.save();
175
+ for (const filter of filters) {
176
+ switch (filter.type) {
177
+ case 'gaussianBlur':
178
+ if (filter.intensity && filter.intensity > 0) {
179
+ ctx.filter = `blur(${filter.intensity}px)`;
180
+ }
181
+ break;
182
+ case 'brightness':
183
+ if (filter.value !== undefined) {
184
+ ctx.filter = `brightness(${100 + filter.value}%)`;
185
+ }
186
+ break;
187
+ case 'contrast':
188
+ if (filter.value !== undefined) {
189
+ ctx.filter = `contrast(${100 + filter.value}%)`;
190
+ }
191
+ break;
192
+ case 'saturation':
193
+ if (filter.value !== undefined) {
194
+ ctx.filter = `saturate(${100 + filter.value}%)`;
195
+ }
196
+ break;
197
+ case 'hueShift':
198
+ if (filter.value !== undefined) {
199
+ ctx.filter = `hue-rotate(${filter.value}deg)`;
200
+ }
201
+ break;
202
+ case 'grayscale':
203
+ ctx.filter = 'grayscale(100%)';
204
+ break;
205
+ case 'sepia':
206
+ ctx.filter = 'sepia(100%)';
207
+ break;
208
+ case 'invert':
209
+ ctx.filter = 'invert(100%)';
210
+ break;
211
+ }
212
+ }
213
+ ctx.restore();
214
+ }
215
+ //# sourceMappingURL=simpleProfessionalFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simpleProfessionalFilters.js","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Image/simpleProfessionalFilters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { SKRSContext2D, Canvas } from '@napi-rs/canvas';
2
+ import { PatternOptions } from '../types';
3
+ /**
4
+ * Enhanced pattern renderer supporting all pattern types
5
+ */
6
+ export declare class EnhancedPatternRenderer {
7
+ /**
8
+ * Renders a pattern overlay on the canvas
9
+ * @param ctx - Canvas 2D context
10
+ * @param canvas - Canvas instance
11
+ * @param patternOptions - Pattern configuration
12
+ */
13
+ static renderPattern(ctx: SKRSContext2D, canvas: Canvas, patternOptions: PatternOptions): Promise<void>;
14
+ /**
15
+ * Renders grid pattern
16
+ */
17
+ private static renderGridPattern;
18
+ /**
19
+ * Renders dots pattern
20
+ */
21
+ private static renderDotsPattern;
22
+ /**
23
+ * Renders diagonal pattern
24
+ */
25
+ private static renderDiagonalPattern;
26
+ /**
27
+ * Renders stripes pattern
28
+ */
29
+ private static renderStripesPattern;
30
+ /**
31
+ * Renders waves pattern
32
+ */
33
+ private static renderWavesPattern;
34
+ /**
35
+ * Renders crosses pattern
36
+ */
37
+ private static renderCrossesPattern;
38
+ /**
39
+ * Renders hexagons pattern
40
+ */
41
+ private static renderHexagonsPattern;
42
+ /**
43
+ * Renders checkerboard pattern
44
+ */
45
+ private static renderCheckerboardPattern;
46
+ /**
47
+ * Renders diamonds pattern
48
+ */
49
+ private static renderDiamondsPattern;
50
+ /**
51
+ * Renders triangles pattern
52
+ */
53
+ private static renderTrianglesPattern;
54
+ /**
55
+ * Renders stars pattern
56
+ */
57
+ private static renderStarsPattern;
58
+ /**
59
+ * Renders polka pattern (larger dots)
60
+ */
61
+ private static renderPolkaPattern;
62
+ /**
63
+ * Renders custom pattern from image
64
+ */
65
+ private static renderCustomPattern;
66
+ private static drawHexagon;
67
+ private static drawDiamond;
68
+ private static drawTriangle;
69
+ private static drawStar;
70
+ }
71
+ //# sourceMappingURL=enhancedPatternRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancedPatternRenderer.d.ts","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAkB,MAAM,UAAU,CAAC;AAK1D;;GAEG;AACH,qBAAa,uBAAuB;IAClC;;;;;OAKG;WACU,aAAa,CACxB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC;IA6EhB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAyBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAmBpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAYnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAqBjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA2BnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAkBpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAcxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAepC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAerC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBjC;;OAEG;mBACkB,mBAAmB;IA6CxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAgB1B,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,CAAC,MAAM,CAAC,YAAY;IAS3B,OAAO,CAAC,MAAM,CAAC,QAAQ;CAexB"}