apexify.js 4.9.25 → 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.
- package/README.md +358 -47
- package/dist/cjs/Canvas/ApexPainter.d.ts +189 -0
- package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -0
- package/dist/{esm/canvas → cjs/Canvas}/ApexPainter.js +461 -352
- package/dist/cjs/Canvas/ApexPainter.js.map +1 -0
- package/dist/cjs/Canvas/utils/Background/bg.d.ts +43 -0
- package/dist/cjs/Canvas/utils/Background/bg.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Background/bg.js +228 -0
- package/dist/cjs/Canvas/utils/Background/bg.js.map +1 -0
- package/dist/cjs/{canvas → Canvas}/utils/Charts/charts.d.ts.map +1 -1
- package/dist/{esm/canvas → cjs/Canvas}/utils/Charts/charts.js.map +1 -1
- package/dist/cjs/{canvas → Canvas}/utils/Custom/customLines.d.ts.map +1 -1
- package/dist/{esm/canvas → cjs/Canvas}/utils/Custom/customLines.js +2 -2
- package/dist/cjs/Canvas/utils/Custom/customLines.js.map +1 -0
- package/dist/cjs/{canvas → Canvas}/utils/General/conversion.d.ts.map +1 -1
- package/dist/cjs/{canvas → Canvas}/utils/General/conversion.js.map +1 -1
- package/dist/cjs/{canvas → Canvas}/utils/General/general functions.d.ts.map +1 -1
- package/dist/{esm/canvas → cjs/Canvas}/utils/General/general functions.js.map +1 -1
- package/dist/cjs/Canvas/utils/Image/imageFilters.d.ts +11 -0
- package/dist/cjs/Canvas/utils/Image/imageFilters.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Image/imageFilters.js +307 -0
- package/dist/cjs/Canvas/utils/Image/imageFilters.js.map +1 -0
- package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts +50 -0
- package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Image/imageProperties.js +271 -0
- package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -0
- package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts +11 -0
- package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js +351 -0
- package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js.map +1 -0
- package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts +11 -0
- package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js +215 -0
- package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -0
- package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts +71 -0
- package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js +392 -0
- package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -0
- package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts +29 -0
- package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Shapes/shapes.js +334 -0
- package/dist/cjs/Canvas/utils/Shapes/shapes.js.map +1 -0
- package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts +127 -0
- package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -0
- package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +365 -0
- package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -0
- package/dist/cjs/{canvas → Canvas}/utils/Texts/textProperties.d.ts.map +1 -1
- package/dist/{esm/canvas → cjs/Canvas}/utils/Texts/textProperties.js.map +1 -1
- package/dist/{esm/canvas → cjs/Canvas}/utils/types.d.ts +227 -131
- package/dist/cjs/Canvas/utils/types.d.ts.map +1 -0
- package/dist/cjs/{canvas → Canvas}/utils/types.js +0 -1
- package/dist/cjs/Canvas/utils/types.js.map +1 -0
- package/dist/cjs/Canvas/utils/utils.d.ts +22 -0
- package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -0
- package/dist/{esm/canvas → cjs/Canvas}/utils/utils.js +17 -7
- package/dist/cjs/Canvas/utils/utils.js.map +1 -0
- package/dist/cjs/index.d.ts +6 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +1 -1
- package/dist/cjs/utils.js +1 -1
- package/dist/esm/Canvas/ApexPainter.d.ts +189 -0
- package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -0
- package/dist/{cjs/canvas → esm/Canvas}/ApexPainter.js +461 -352
- package/dist/esm/Canvas/ApexPainter.js.map +1 -0
- package/dist/esm/Canvas/utils/Background/bg.d.ts +43 -0
- package/dist/esm/Canvas/utils/Background/bg.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Background/bg.js +228 -0
- package/dist/esm/Canvas/utils/Background/bg.js.map +1 -0
- package/dist/esm/{canvas → Canvas}/utils/Charts/charts.d.ts.map +1 -1
- package/dist/{cjs/canvas → esm/Canvas}/utils/Charts/charts.js.map +1 -1
- package/dist/esm/{canvas → Canvas}/utils/Custom/customLines.d.ts.map +1 -1
- package/dist/{cjs/canvas → esm/Canvas}/utils/Custom/customLines.js +2 -2
- package/dist/esm/Canvas/utils/Custom/customLines.js.map +1 -0
- package/dist/esm/{canvas → Canvas}/utils/General/conversion.d.ts.map +1 -1
- package/dist/esm/{canvas → Canvas}/utils/General/conversion.js.map +1 -1
- package/dist/esm/{canvas → Canvas}/utils/General/general functions.d.ts.map +1 -1
- package/dist/{cjs/canvas → esm/Canvas}/utils/General/general functions.js.map +1 -1
- package/dist/esm/Canvas/utils/Image/imageFilters.d.ts +11 -0
- package/dist/esm/Canvas/utils/Image/imageFilters.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Image/imageFilters.js +307 -0
- package/dist/esm/Canvas/utils/Image/imageFilters.js.map +1 -0
- package/dist/esm/Canvas/utils/Image/imageProperties.d.ts +50 -0
- package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Image/imageProperties.js +271 -0
- package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -0
- package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts +11 -0
- package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Image/professionalImageFilters.js +351 -0
- package/dist/esm/Canvas/utils/Image/professionalImageFilters.js.map +1 -0
- package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts +11 -0
- package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js +215 -0
- package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -0
- package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts +71 -0
- package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js +392 -0
- package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -0
- package/dist/esm/Canvas/utils/Shapes/shapes.d.ts +29 -0
- package/dist/esm/Canvas/utils/Shapes/shapes.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Shapes/shapes.js +334 -0
- package/dist/esm/Canvas/utils/Shapes/shapes.js.map +1 -0
- package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts +127 -0
- package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -0
- package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +365 -0
- package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -0
- package/dist/esm/{canvas → Canvas}/utils/Texts/textProperties.d.ts.map +1 -1
- package/dist/{cjs/canvas → esm/Canvas}/utils/Texts/textProperties.js.map +1 -1
- package/dist/{cjs/canvas → esm/Canvas}/utils/types.d.ts +227 -131
- package/dist/esm/Canvas/utils/types.d.ts.map +1 -0
- package/dist/esm/{canvas → Canvas}/utils/types.js +0 -1
- package/dist/esm/Canvas/utils/types.js.map +1 -0
- package/dist/esm/Canvas/utils/utils.d.ts +22 -0
- package/dist/esm/Canvas/utils/utils.d.ts.map +1 -0
- package/dist/{cjs/canvas → esm/Canvas}/utils/utils.js +17 -7
- package/dist/esm/Canvas/utils/utils.js.map +1 -0
- package/dist/esm/index.d.ts +6 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +1 -1
- package/dist/esm/utils.js +1 -1
- package/lib/{canvas → Canvas}/ApexPainter.ts +1325 -1218
- package/lib/Canvas/utils/Background/bg.ts +285 -0
- package/lib/{canvas → Canvas}/utils/Custom/customLines.ts +3 -3
- package/lib/Canvas/utils/Image/imageFilters.ts +356 -0
- package/lib/Canvas/utils/Image/imageProperties.ts +382 -0
- package/lib/Canvas/utils/Image/professionalImageFilters.ts +391 -0
- package/lib/Canvas/utils/Image/simpleProfessionalFilters.ts +229 -0
- package/lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts +444 -0
- package/lib/Canvas/utils/Shapes/shapes.ts +528 -0
- package/lib/Canvas/utils/Texts/enhancedTextRenderer.ts +478 -0
- package/lib/{canvas → Canvas}/utils/types.ts +301 -117
- package/lib/{canvas → Canvas}/utils/utils.ts +85 -72
- package/lib/index.ts +8 -9
- package/lib/utils.ts +1 -1
- package/package.json +107 -191
- package/dist/cjs/canvas/ApexPainter.d.ts +0 -145
- package/dist/cjs/canvas/ApexPainter.d.ts.map +0 -1
- package/dist/cjs/canvas/ApexPainter.js.map +0 -1
- package/dist/cjs/canvas/utils/Background/bg.d.ts +0 -31
- package/dist/cjs/canvas/utils/Background/bg.d.ts.map +0 -1
- package/dist/cjs/canvas/utils/Background/bg.js +0 -161
- package/dist/cjs/canvas/utils/Background/bg.js.map +0 -1
- package/dist/cjs/canvas/utils/Custom/customLines.js.map +0 -1
- package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +0 -115
- package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +0 -1
- package/dist/cjs/canvas/utils/Image/imageProperties.js +0 -602
- package/dist/cjs/canvas/utils/Image/imageProperties.js.map +0 -1
- package/dist/cjs/canvas/utils/types.d.ts.map +0 -1
- package/dist/cjs/canvas/utils/types.js.map +0 -1
- package/dist/cjs/canvas/utils/utils.d.ts +0 -19
- package/dist/cjs/canvas/utils/utils.d.ts.map +0 -1
- package/dist/cjs/canvas/utils/utils.js.map +0 -1
- package/dist/esm/canvas/ApexPainter.d.ts +0 -145
- package/dist/esm/canvas/ApexPainter.d.ts.map +0 -1
- package/dist/esm/canvas/ApexPainter.js.map +0 -1
- package/dist/esm/canvas/utils/Background/bg.d.ts +0 -31
- package/dist/esm/canvas/utils/Background/bg.d.ts.map +0 -1
- package/dist/esm/canvas/utils/Background/bg.js +0 -161
- package/dist/esm/canvas/utils/Background/bg.js.map +0 -1
- package/dist/esm/canvas/utils/Custom/customLines.js.map +0 -1
- package/dist/esm/canvas/utils/Image/imageProperties.d.ts +0 -115
- package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +0 -1
- package/dist/esm/canvas/utils/Image/imageProperties.js +0 -602
- package/dist/esm/canvas/utils/Image/imageProperties.js.map +0 -1
- package/dist/esm/canvas/utils/types.d.ts.map +0 -1
- package/dist/esm/canvas/utils/types.js.map +0 -1
- package/dist/esm/canvas/utils/utils.d.ts +0 -19
- package/dist/esm/canvas/utils/utils.d.ts.map +0 -1
- package/dist/esm/canvas/utils/utils.js.map +0 -1
- package/lib/canvas/utils/Background/bg.ts +0 -211
- package/lib/canvas/utils/Image/imageProperties.ts +0 -835
- /package/dist/cjs/{canvas → Canvas}/utils/Charts/charts.d.ts +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/Charts/charts.js +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/Custom/customLines.d.ts +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/General/conversion.d.ts +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/General/conversion.js +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/General/general functions.d.ts +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/General/general functions.js +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/Texts/textProperties.d.ts +0 -0
- /package/dist/cjs/{canvas → Canvas}/utils/Texts/textProperties.js +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/Charts/charts.d.ts +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/Charts/charts.js +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/Custom/customLines.d.ts +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/General/conversion.d.ts +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/General/conversion.js +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/General/general functions.d.ts +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/General/general functions.js +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/Texts/textProperties.d.ts +0 -0
- /package/dist/esm/{canvas → Canvas}/utils/Texts/textProperties.js +0 -0
- /package/lib/{canvas → Canvas}/utils/Charts/charts.ts +0 -0
- /package/lib/{canvas → Canvas}/utils/General/conversion.ts +0 -0
- /package/lib/{canvas → Canvas}/utils/General/general functions.ts +0 -0
- /package/lib/{canvas → Canvas}/utils/Texts/textProperties.ts +0 -0
|
@@ -9,20 +9,61 @@ export interface OutputFormat {
|
|
|
9
9
|
type?: 'buffer' | 'url' | 'blob' | 'base64' | 'dataURL' | 'arraybuffer';
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
export type AlignMode =
|
|
13
|
+
| 'center' | 'top' | 'bottom' | 'left' | 'right'
|
|
14
|
+
| 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
12
15
|
|
|
13
|
-
type
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
export type FitMode = 'fill' | 'contain' | 'cover';
|
|
17
|
+
|
|
18
|
+
export interface StrokeOptions {
|
|
19
|
+
color?: string;
|
|
20
|
+
gradient?: gradient;
|
|
21
|
+
width?: number; // px
|
|
22
|
+
position?: number; // px (+out/-in)
|
|
23
|
+
blur?: number; // px
|
|
24
|
+
opacity?: number; // 0..1
|
|
25
|
+
borderRadius?: number | 'circular';
|
|
26
|
+
borderPosition?: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface ShadowOptions {
|
|
30
|
+
color?: string; // e.g. 'rgba(0,0,0,1)'
|
|
31
|
+
gradient?: gradient; // <— gradient-capable shadow
|
|
32
|
+
offsetX?: number; // px
|
|
33
|
+
offsetY?: number; // px
|
|
34
|
+
blur?: number; // px
|
|
35
|
+
opacity?: number; // 0..1
|
|
36
|
+
borderRadius?: number | "circular";
|
|
37
|
+
borderPosition?: borderPosition;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface BoxBackground {
|
|
41
|
+
color?: string;
|
|
42
|
+
gradient?: gradient;
|
|
43
|
+
}
|
|
44
|
+
export type GradientStop = { stop: number; color: string };
|
|
45
|
+
|
|
46
|
+
export type gradient =
|
|
47
|
+
| {
|
|
48
|
+
type: 'linear';
|
|
49
|
+
// line from (startX,startY) to (endX,endY)
|
|
50
|
+
startX?: number; startY?: number;
|
|
51
|
+
endX?: number; endY?: number;
|
|
52
|
+
rotate?: number; // degrees, rotation around pivot (default: canvas center)
|
|
53
|
+
pivotX?: number; pivotY?: number; // optional pivot for rotation
|
|
54
|
+
colors: GradientStop[];
|
|
55
|
+
}
|
|
56
|
+
| {
|
|
57
|
+
type: 'radial';
|
|
58
|
+
// two circles (default to center-based radial if not supplied)
|
|
59
|
+
startX?: number; startY?: number; startRadius?: number; // inner circle
|
|
60
|
+
endX?: number; endY?: number; endRadius?: number; // outer circle
|
|
61
|
+
// rotation is NOP for perfectly concentric radial, but supported if centers aren't equal
|
|
62
|
+
rotate?: number; pivotX?: number; pivotY?: number;
|
|
63
|
+
colors: GradientStop[];
|
|
64
|
+
};
|
|
24
65
|
|
|
25
|
-
type borderPosition = 'all' | 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | string;
|
|
66
|
+
export type borderPosition = 'all' | 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | string;
|
|
26
67
|
|
|
27
68
|
/**
|
|
28
69
|
* Configuration options for the canvas.
|
|
@@ -38,16 +79,42 @@ export interface CanvasConfig {
|
|
|
38
79
|
height?: number;
|
|
39
80
|
x?: number;
|
|
40
81
|
y?: number;
|
|
41
|
-
|
|
82
|
+
|
|
83
|
+
customBg?: {
|
|
84
|
+
source: string
|
|
85
|
+
inherit?: boolean;
|
|
86
|
+
fit?: 'fill' | 'contain' | 'cover';
|
|
87
|
+
align?: 'center' | 'top' | 'bottom' | 'left' | 'right'
|
|
88
|
+
| 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
89
|
+
};
|
|
90
|
+
|
|
42
91
|
colorBg?: string;
|
|
43
92
|
gradientBg?: gradient;
|
|
93
|
+
patternBg?: PatternOptions;
|
|
94
|
+
noiseBg?: { intensity?: number };
|
|
95
|
+
bgLayers?: Array<
|
|
96
|
+
{ type: "color"; value: string } |
|
|
97
|
+
{ type: "gradient"; value: gradient } |
|
|
98
|
+
{ type: "image"; source: string; opacity?: number } |
|
|
99
|
+
{ type: "pattern"; source: string; repeat?: string; opacity?: number } |
|
|
100
|
+
{ type: "noise"; intensity?: number }
|
|
101
|
+
>;
|
|
102
|
+
blendMode?: GlobalCompositeOperation;
|
|
103
|
+
|
|
44
104
|
opacity?: number;
|
|
45
105
|
blur?: number;
|
|
106
|
+
|
|
107
|
+
rotation?: number;
|
|
108
|
+
borderRadius?: number | "circular";
|
|
109
|
+
borderPosition?: borderPosition;
|
|
110
|
+
|
|
46
111
|
zoom?: {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
112
|
+
scale?: number; // optional, defaults to 1
|
|
113
|
+
centerX?: number;
|
|
114
|
+
centerY?: number;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
|
|
51
118
|
stroke?: {
|
|
52
119
|
color?: string;
|
|
53
120
|
blur?: number;
|
|
@@ -66,9 +133,6 @@ export interface CanvasConfig {
|
|
|
66
133
|
borderRadius?: number | "circular";
|
|
67
134
|
gradient?: gradient;
|
|
68
135
|
};
|
|
69
|
-
rotation?: number;
|
|
70
|
-
borderRadius?: number | "circular";
|
|
71
|
-
borderPosition?: borderPosition;
|
|
72
136
|
};
|
|
73
137
|
|
|
74
138
|
/**
|
|
@@ -96,95 +160,185 @@ export interface CanvasConfig {
|
|
|
96
160
|
* @param {number} shadow.opacity - The opacity of the shadow.
|
|
97
161
|
* @param {number | string} shadow.borderRadius - The border radius of the shadow.
|
|
98
162
|
*/
|
|
163
|
+
export type ShapeType = 'rectangle' | 'square' | 'circle' | 'triangle' | 'trapezium' | 'star' | 'heart' | 'polygon';
|
|
164
|
+
|
|
165
|
+
export interface ShapeProperties {
|
|
166
|
+
fill?: boolean;
|
|
167
|
+
color?: string;
|
|
168
|
+
gradient?: gradient;
|
|
169
|
+
points?: { x: number; y: number }[]; // for polygon
|
|
170
|
+
radius?: number; // for circle
|
|
171
|
+
sides?: number; // for polygon
|
|
172
|
+
innerRadius?: number; // for star
|
|
173
|
+
outerRadius?: number; // for star
|
|
174
|
+
}
|
|
175
|
+
|
|
99
176
|
export interface ImageProperties {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
177
|
+
// required
|
|
178
|
+
source: string | Buffer | ShapeType;
|
|
179
|
+
x: number;
|
|
180
|
+
y: number;
|
|
181
|
+
|
|
182
|
+
// size (if omitted and inherit=true -> use intrinsic)
|
|
183
|
+
width?: number;
|
|
184
|
+
height?: number;
|
|
185
|
+
inherit?: boolean;
|
|
186
|
+
|
|
187
|
+
// fitting
|
|
188
|
+
fit?: FitMode; // default 'fill'
|
|
189
|
+
align?: AlignMode; // default 'center'
|
|
190
|
+
|
|
191
|
+
// visuals
|
|
192
|
+
rotation?: number; // deg around box center
|
|
193
|
+
opacity?: number; // bitmap alpha
|
|
194
|
+
blur?: number; // bitmap blur px
|
|
195
|
+
borderRadius?: number | 'circular';
|
|
196
|
+
borderPosition?: string;
|
|
197
|
+
|
|
198
|
+
// image filters
|
|
199
|
+
filters?: ImageFilter[];
|
|
200
|
+
|
|
201
|
+
// shape properties (when source is a shape)
|
|
202
|
+
shape?: ShapeProperties;
|
|
203
|
+
|
|
204
|
+
// independent passes
|
|
205
|
+
shadow?: ShadowOptions;
|
|
206
|
+
stroke?: StrokeOptions;
|
|
207
|
+
boxBackground?: BoxBackground; // under bitmap, inside clip
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export interface ImageFilter {
|
|
211
|
+
type: 'gaussianBlur' | 'motionBlur' | 'radialBlur' | 'sharpen' | 'noise' | 'grain' |
|
|
212
|
+
'edgeDetection' | 'emboss' | 'invert' | 'grayscale' | 'sepia' | 'pixelate' |
|
|
213
|
+
'brightness' | 'contrast' | 'saturation' | 'hueShift' | 'posterize';
|
|
214
|
+
intensity?: number;
|
|
215
|
+
radius?: number;
|
|
216
|
+
angle?: number; // for motion blur
|
|
217
|
+
centerX?: number; // for radial blur
|
|
218
|
+
centerY?: number; // for radial blur
|
|
219
|
+
value?: number; // for brightness, contrast, saturation, hue shift
|
|
220
|
+
levels?: number; // for posterize
|
|
221
|
+
size?: number; // for pixelate
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Enhanced text properties interface with comprehensive styling options
|
|
228
|
+
*/
|
|
229
|
+
export interface TextProperties {
|
|
230
|
+
// === CORE TEXT PROPERTIES ===
|
|
231
|
+
/** Text content to render */
|
|
232
|
+
text: string;
|
|
233
|
+
/** X position on canvas */
|
|
234
|
+
x: number;
|
|
235
|
+
/** Y position on canvas */
|
|
236
|
+
y: number;
|
|
237
|
+
|
|
238
|
+
// === FONT MANAGEMENT ===
|
|
239
|
+
/** Path to custom font file (.ttf, .otf, .woff, etc.) */
|
|
240
|
+
fontPath?: string;
|
|
241
|
+
/** Custom font name (used with fontPath) */
|
|
242
|
+
fontName?: string;
|
|
243
|
+
/** Font size in pixels (default: 16) */
|
|
244
|
+
fontSize?: number;
|
|
245
|
+
/** Font family name (e.g., 'Arial', 'Helvetica', 'Times New Roman') */
|
|
246
|
+
fontFamily?: string;
|
|
247
|
+
|
|
248
|
+
// === TEXT DECORATION ===
|
|
249
|
+
/** Make text bold */
|
|
250
|
+
bold?: boolean;
|
|
251
|
+
/** Make text italic */
|
|
252
|
+
italic?: boolean;
|
|
253
|
+
/** Add underline decoration */
|
|
254
|
+
underline?: boolean;
|
|
255
|
+
/** Add overline decoration */
|
|
256
|
+
overline?: boolean;
|
|
257
|
+
/** Add strikethrough decoration */
|
|
258
|
+
strikethrough?: boolean;
|
|
259
|
+
/** Highlight text with background color */
|
|
260
|
+
highlight?: {
|
|
261
|
+
/** Highlight color (hex, rgb, rgba, hsl, etc.) */
|
|
262
|
+
color?: string;
|
|
263
|
+
/** Highlight opacity (0-1, default: 0.3) */
|
|
108
264
|
opacity?: number;
|
|
109
|
-
|
|
110
|
-
zoom?: {
|
|
111
|
-
scale?: number;
|
|
112
|
-
x?: number;
|
|
113
|
-
y?: number;
|
|
114
|
-
};
|
|
115
|
-
gradient?: gradient;
|
|
116
|
-
rotation?: number;
|
|
117
|
-
borderRadius?: number | "circular";
|
|
118
|
-
borderPosition?: borderPosition;
|
|
119
|
-
perspective?: {
|
|
120
|
-
topLeft: { x: number, y: number };
|
|
121
|
-
topRight: { x: number, y: number };
|
|
122
|
-
bottomRight: { x: number, y: number };
|
|
123
|
-
bottomLeft: { x: number, y: number };
|
|
124
|
-
}
|
|
125
|
-
stroke?: {
|
|
126
|
-
color?: string;
|
|
127
|
-
width?: number;
|
|
128
|
-
opacity?: number;
|
|
129
|
-
blur?: number;
|
|
130
|
-
position?: number;
|
|
131
|
-
borderRadius?: number | "circular";
|
|
132
|
-
borderPosition?: borderPosition;
|
|
133
|
-
gradient?: gradient;
|
|
134
|
-
};
|
|
135
|
-
shadow?: {
|
|
136
|
-
color?: string;
|
|
137
|
-
offsetX?: number;
|
|
138
|
-
offsetY?: number;
|
|
139
|
-
blur?: number;
|
|
140
|
-
opacity?: number;
|
|
141
|
-
borderRadius?: number | "circular",
|
|
142
|
-
gradient?: gradient;
|
|
143
|
-
|
|
144
|
-
flip?: { horizontal?: boolean; vertical?: boolean };
|
|
145
|
-
clip?: { type: 'rect' | 'circle' | 'polygon' | 'custom'; points?: { x: number, y: number }[] };
|
|
146
|
-
tint?: { color: string; opacity?: number };
|
|
147
|
-
noise?: { intensity: number };
|
|
148
|
-
vignette?: { strength: number; radius?: number };
|
|
149
|
-
duotone?: { shadows: string; highlights: string };
|
|
150
|
-
pixelate?: { size: number };
|
|
151
|
-
bloom?: { intensity: number; threshold?: number; radius?: number };
|
|
152
|
-
warp?: { type: 'arc' | 'bulge' | 'pinch' | 'wave' | 'twist'; intensity: number };
|
|
153
|
-
halftone?: { dotSize: number; contrast?: number };
|
|
154
|
-
};
|
|
155
|
-
};
|
|
265
|
+
};
|
|
156
266
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
267
|
+
// === SPACING & POSITIONING ===
|
|
268
|
+
/** Line height multiplier (default: 1.4) */
|
|
269
|
+
lineHeight?: number;
|
|
270
|
+
/** Space between letters in pixels */
|
|
271
|
+
letterSpacing?: number;
|
|
272
|
+
/** Space between words in pixels */
|
|
273
|
+
wordSpacing?: number;
|
|
274
|
+
/** Maximum width for text wrapping */
|
|
275
|
+
maxWidth?: number;
|
|
276
|
+
/** Maximum height for text (truncates with ellipsis) */
|
|
277
|
+
maxHeight?: number;
|
|
278
|
+
|
|
279
|
+
// === TEXT ALIGNMENT ===
|
|
280
|
+
/** Horizontal text alignment */
|
|
281
|
+
textAlign?: 'left' | 'center' | 'right' | 'start' | 'end';
|
|
282
|
+
/** Vertical text baseline */
|
|
283
|
+
textBaseline?: 'alphabetic' | 'bottom' | 'hanging' | 'ideographic' | 'middle' | 'top';
|
|
284
|
+
|
|
285
|
+
// === TEXT COLORING ===
|
|
286
|
+
/** Text color (hex, rgb, rgba, hsl, etc.) */
|
|
287
|
+
color?: string;
|
|
288
|
+
/** Gradient fill for text */
|
|
289
|
+
gradient?: gradient;
|
|
290
|
+
/** Text opacity (0-1, default: 1) */
|
|
291
|
+
opacity?: number;
|
|
292
|
+
|
|
293
|
+
// === TEXT EFFECTS ===
|
|
294
|
+
/** Text glow effect */
|
|
295
|
+
glow?: {
|
|
296
|
+
/** Glow color */
|
|
165
297
|
color?: string;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
298
|
+
/** Glow intensity/blur radius */
|
|
299
|
+
intensity?: number;
|
|
300
|
+
/** Glow opacity (0-1) */
|
|
301
|
+
opacity?: number;
|
|
302
|
+
};
|
|
303
|
+
/** Text shadow effect */
|
|
304
|
+
shadow?: {
|
|
305
|
+
/** Shadow color */
|
|
306
|
+
color?: string;
|
|
307
|
+
/** Horizontal shadow offset */
|
|
308
|
+
offsetX?: number;
|
|
309
|
+
/** Vertical shadow offset */
|
|
310
|
+
offsetY?: number;
|
|
311
|
+
/** Shadow blur radius */
|
|
312
|
+
blur?: number;
|
|
313
|
+
/** Shadow opacity (0-1) */
|
|
314
|
+
opacity?: number;
|
|
315
|
+
};
|
|
316
|
+
/** Text stroke/outline */
|
|
317
|
+
stroke?: {
|
|
318
|
+
/** Stroke color */
|
|
319
|
+
color?: string;
|
|
320
|
+
/** Stroke width in pixels */
|
|
321
|
+
width?: number;
|
|
322
|
+
/** Gradient stroke */
|
|
172
323
|
gradient?: gradient;
|
|
173
|
-
|
|
174
|
-
color?: string;
|
|
175
|
-
offsetX?: number;
|
|
176
|
-
offsetY?: number;
|
|
177
|
-
blur?: number;
|
|
178
|
-
opacity?: number;
|
|
179
|
-
};
|
|
180
|
-
stroke?: {
|
|
181
|
-
color?: string;
|
|
182
|
-
blur?: number;
|
|
183
|
-
width?: number;
|
|
184
|
-
gradient?: gradient;
|
|
185
|
-
};
|
|
186
|
-
rotation?: number;
|
|
324
|
+
/** Stroke opacity (0-1) */
|
|
187
325
|
opacity?: number;
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
// === TRANSFORMATIONS ===
|
|
329
|
+
/** Text rotation in degrees */
|
|
330
|
+
rotation?: number;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Legacy TextObject interface for backward compatibility
|
|
335
|
+
* @deprecated Use TextProperties instead
|
|
336
|
+
*/
|
|
337
|
+
export interface TextObject extends TextProperties {
|
|
338
|
+
/** @deprecated Use bold instead */
|
|
339
|
+
isBold?: boolean;
|
|
340
|
+
/** @deprecated Use outlined instead of stroke */
|
|
341
|
+
outlined?: boolean;
|
|
188
342
|
}
|
|
189
343
|
|
|
190
344
|
/**
|
|
@@ -522,21 +676,51 @@ export interface GradientConfig{
|
|
|
522
676
|
};
|
|
523
677
|
|
|
524
678
|
|
|
679
|
+
/**
|
|
680
|
+
* Enhanced pattern options supporting all pattern types
|
|
681
|
+
*/
|
|
525
682
|
export interface PatternOptions {
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
683
|
+
// === PATTERN TYPE ===
|
|
684
|
+
/** Pattern type: built-in patterns or custom image */
|
|
685
|
+
type: 'grid' | 'dots' | 'diagonal' | 'stripes' | 'waves' | 'crosses' |
|
|
686
|
+
'hexagons' | 'checkerboard' | 'diamonds' | 'triangles' | 'stars' | 'polka' | 'custom';
|
|
687
|
+
|
|
688
|
+
// === PATTERN COLORS ===
|
|
689
|
+
/** Primary pattern color (default: '#ffffff') */
|
|
690
|
+
color?: string;
|
|
691
|
+
/** Secondary pattern color for two-color patterns (default: 'transparent') */
|
|
692
|
+
secondaryColor?: string;
|
|
693
|
+
/** Pattern opacity (0-1, default: 0.3) */
|
|
694
|
+
opacity?: number;
|
|
695
|
+
|
|
696
|
+
// === PATTERN SIZING ===
|
|
697
|
+
/** Pattern element size in pixels (default: 20) */
|
|
698
|
+
size?: number;
|
|
699
|
+
/** Spacing between pattern elements in pixels (default: 10) */
|
|
700
|
+
spacing?: number;
|
|
701
|
+
/** Pattern rotation angle in degrees (default: 0) */
|
|
702
|
+
rotation?: number;
|
|
703
|
+
|
|
704
|
+
// === CUSTOM PATTERN ===
|
|
705
|
+
/** Custom pattern image path/URL (for type: 'custom') */
|
|
706
|
+
customPatternImage?: string;
|
|
707
|
+
/** Custom pattern repeat mode (default: 'repeat') */
|
|
708
|
+
repeat?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';
|
|
709
|
+
/** Custom pattern scale multiplier (default: 1) */
|
|
710
|
+
scale?: number;
|
|
711
|
+
|
|
712
|
+
// === PATTERN POSITIONING ===
|
|
713
|
+
/** Pattern offset X position (default: 0) */
|
|
714
|
+
offsetX?: number;
|
|
715
|
+
/** Pattern offset Y position (default: 0) */
|
|
716
|
+
offsetY?: number;
|
|
717
|
+
|
|
718
|
+
// === ADVANCED OPTIONS ===
|
|
719
|
+
/** Pattern blend mode (default: 'overlay') */
|
|
720
|
+
blendMode?: GlobalCompositeOperation;
|
|
721
|
+
/** Pattern gradient (overrides color) */
|
|
722
|
+
gradient?: GradientConfig;
|
|
723
|
+
}
|
|
540
724
|
|
|
541
725
|
|
|
542
726
|
export interface ExtractFramesOptions {
|
|
@@ -1,72 +1,85 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Exported utilities for handling canvas configurations and drawing operations.
|
|
3
|
-
* @param CanvasConfig The configuration options for the canvas.
|
|
4
|
-
* @param radiusBorder The function for applying a radius border to the canvas.
|
|
5
|
-
* @param circularBorder The function for applying a circular border to the canvas.
|
|
6
|
-
* @param drawBackgroundColor The function for drawing a solid background color on the canvas.
|
|
7
|
-
* @param drawBackgroundGradient The function for drawing a gradient background on the canvas.
|
|
8
|
-
* @param customBackground The function for drawing a custom background image on the canvas.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import { OutputFormat, CanvasConfig, ImageProperties, TextObject, GIFOptions, GIFResults, CustomOptions, cropOptions, GradientConfig, Frame, PatternOptions, ExtractFramesOptions, ResizeOptions, CropOptions, MaskOptions, BlendOptions } from "./types";
|
|
14
|
-
import { drawBackgroundColor, drawBackgroundGradient, customBackground,
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Exported utilities for handling canvas configurations and drawing operations.
|
|
3
|
+
* @param CanvasConfig The configuration options for the canvas.
|
|
4
|
+
* @param radiusBorder The function for applying a radius border to the canvas.
|
|
5
|
+
* @param circularBorder The function for applying a circular border to the canvas.
|
|
6
|
+
* @param drawBackgroundColor The function for drawing a solid background color on the canvas.
|
|
7
|
+
* @param drawBackgroundGradient The function for drawing a gradient background on the canvas.
|
|
8
|
+
* @param customBackground The function for drawing a custom background image on the canvas.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
import { OutputFormat, CanvasConfig, ImageProperties, TextObject, TextProperties, GIFOptions, GIFResults, CustomOptions, cropOptions, GradientConfig, Frame, PatternOptions, ExtractFramesOptions, ResizeOptions, CropOptions, MaskOptions, BlendOptions, ShapeType, ShapeProperties, ImageFilter } from "./types";
|
|
14
|
+
import { drawBackgroundColor, drawBackgroundGradient, customBackground, applyCanvasZoom, drawPattern, applyNoise } from "./Background/bg";
|
|
15
|
+
import { buildPath, applyRotation, createGradientFill, fitInto, loadImageCached, applyStroke, drawBoxBackground, applyShadow } from './Image/imageProperties'
|
|
16
|
+
import { applyImageFilters } from './Image/imageFilters'
|
|
17
|
+
import { applySimpleProfessionalFilters } from './Image/simpleProfessionalFilters'
|
|
18
|
+
import { drawText, WrappedText } from "./Texts/textProperties";
|
|
19
|
+
import { loadImages, resizingImg, converter, applyColorFilters, imgEffects, cropOuter, cropInner, detectColors, removeColor, bgRemoval } from './General/general functions';
|
|
20
|
+
import { customLines } from "./Custom/customLines";
|
|
21
|
+
import { verticalBarChart, pieChart, lineChart } from './Charts/charts'
|
|
22
|
+
import { url, arrayBuffer, base64, dataURL, blob } from "./General/conversion";
|
|
23
|
+
import { drawShape, isShapeSource, createShapePath } from "./Shapes/shapes";
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
url,
|
|
27
|
+
OutputFormat,
|
|
28
|
+
arrayBuffer,
|
|
29
|
+
base64,
|
|
30
|
+
dataURL,
|
|
31
|
+
blob,
|
|
32
|
+
CanvasConfig,
|
|
33
|
+
ImageProperties,
|
|
34
|
+
TextObject,
|
|
35
|
+
TextProperties,
|
|
36
|
+
GIFOptions,
|
|
37
|
+
GIFResults,
|
|
38
|
+
CustomOptions,
|
|
39
|
+
cropOptions,
|
|
40
|
+
customLines,
|
|
41
|
+
drawBackgroundColor,
|
|
42
|
+
drawBackgroundGradient,
|
|
43
|
+
customBackground,
|
|
44
|
+
drawText,
|
|
45
|
+
WrappedText,
|
|
46
|
+
loadImages,
|
|
47
|
+
resizingImg,
|
|
48
|
+
converter,
|
|
49
|
+
applyColorFilters,
|
|
50
|
+
imgEffects,
|
|
51
|
+
verticalBarChart,
|
|
52
|
+
pieChart,
|
|
53
|
+
lineChart,
|
|
54
|
+
cropInner,
|
|
55
|
+
cropOuter,
|
|
56
|
+
detectColors,
|
|
57
|
+
removeColor,
|
|
58
|
+
bgRemoval,
|
|
59
|
+
GradientConfig,
|
|
60
|
+
Frame,
|
|
61
|
+
PatternOptions,
|
|
62
|
+
ExtractFramesOptions,
|
|
63
|
+
ResizeOptions,
|
|
64
|
+
CropOptions,
|
|
65
|
+
buildPath,
|
|
66
|
+
applyRotation,
|
|
67
|
+
createGradientFill,
|
|
68
|
+
fitInto, loadImageCached,
|
|
69
|
+
applyStroke,
|
|
70
|
+
applyShadow,
|
|
71
|
+
drawBoxBackground,
|
|
72
|
+
MaskOptions,
|
|
73
|
+
BlendOptions,
|
|
74
|
+
applyCanvasZoom,
|
|
75
|
+
drawPattern,
|
|
76
|
+
applyNoise,
|
|
77
|
+
ShapeType,
|
|
78
|
+
ShapeProperties,
|
|
79
|
+
ImageFilter,
|
|
80
|
+
drawShape,
|
|
81
|
+
isShapeSource,
|
|
82
|
+
createShapePath,
|
|
83
|
+
applyImageFilters,
|
|
84
|
+
applySimpleProfessionalFilters
|
|
85
|
+
};
|
package/lib/index.ts
CHANGED
|
@@ -62,21 +62,20 @@ function checkUpdates() {
|
|
|
62
62
|
}
|
|
63
63
|
checkUpdates();
|
|
64
64
|
|
|
65
|
+
import { ApexPainter } from "./utils";
|
|
65
66
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
// Import and re-export with namespaces to prevent conflicts
|
|
68
|
+
import * as CanvasUtils from "./Canvas/utils/utils";
|
|
69
|
+
import * as CanvasTypes from "./Canvas/utils/types";
|
|
69
70
|
|
|
70
|
-
export
|
|
71
|
-
export * from "./canvas/utils/types";
|
|
71
|
+
export { CanvasUtils, CanvasTypes };
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
export {
|
|
75
|
-
ApexPainter,
|
|
76
|
-
};
|
|
73
|
+
export { ApexPainter };
|
|
77
74
|
|
|
78
75
|
const Apexify = {
|
|
79
76
|
ApexPainter,
|
|
77
|
+
CanvasUtils,
|
|
78
|
+
CanvasTypes,
|
|
80
79
|
};
|
|
81
80
|
|
|
82
81
|
export default Apexify;
|
package/lib/utils.ts
CHANGED