apexify.js 4.9.30 → 5.0.1

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 (129) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +119 -4
  3. package/apex-banner.png +0 -0
  4. package/dist/cjs/Canvas/ApexPainter.d.ts +158 -145
  5. package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
  6. package/dist/cjs/Canvas/ApexPainter.js +1443 -418
  7. package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
  8. package/dist/cjs/Canvas/utils/Charts/charts.d.ts +7 -2
  9. package/dist/cjs/Canvas/utils/Charts/charts.d.ts.map +1 -1
  10. package/dist/cjs/Canvas/utils/Charts/charts.js +3 -1
  11. package/dist/cjs/Canvas/utils/Charts/charts.js.map +1 -1
  12. package/dist/cjs/Canvas/utils/Custom/advancedLines.d.ts +75 -0
  13. package/dist/cjs/Canvas/utils/Custom/advancedLines.d.ts.map +1 -0
  14. package/dist/cjs/Canvas/utils/Custom/advancedLines.js +263 -0
  15. package/dist/cjs/Canvas/utils/Custom/advancedLines.js.map +1 -0
  16. package/dist/cjs/Canvas/utils/Custom/customLines.d.ts +2 -1
  17. package/dist/cjs/Canvas/utils/Custom/customLines.d.ts.map +1 -1
  18. package/dist/cjs/Canvas/utils/Custom/customLines.js +73 -6
  19. package/dist/cjs/Canvas/utils/Custom/customLines.js.map +1 -1
  20. package/dist/cjs/Canvas/utils/General/batchOperations.d.ts +17 -0
  21. package/dist/cjs/Canvas/utils/General/batchOperations.d.ts.map +1 -0
  22. package/dist/cjs/Canvas/utils/General/batchOperations.js +88 -0
  23. package/dist/cjs/Canvas/utils/General/batchOperations.js.map +1 -0
  24. package/dist/cjs/Canvas/utils/General/general functions.d.ts +25 -3
  25. package/dist/cjs/Canvas/utils/General/general functions.d.ts.map +1 -1
  26. package/dist/cjs/Canvas/utils/General/general functions.js +37 -9
  27. package/dist/cjs/Canvas/utils/General/general functions.js.map +1 -1
  28. package/dist/cjs/Canvas/utils/General/imageCompression.d.ts +19 -0
  29. package/dist/cjs/Canvas/utils/General/imageCompression.d.ts.map +1 -0
  30. package/dist/cjs/Canvas/utils/General/imageCompression.js +262 -0
  31. package/dist/cjs/Canvas/utils/General/imageCompression.js.map +1 -0
  32. package/dist/cjs/Canvas/utils/General/imageStitching.d.ts +20 -0
  33. package/dist/cjs/Canvas/utils/General/imageStitching.d.ts.map +1 -0
  34. package/dist/cjs/Canvas/utils/General/imageStitching.js +227 -0
  35. package/dist/cjs/Canvas/utils/General/imageStitching.js.map +1 -0
  36. package/dist/cjs/Canvas/utils/Image/imageEffects.d.ts +37 -0
  37. package/dist/cjs/Canvas/utils/Image/imageEffects.d.ts.map +1 -0
  38. package/dist/cjs/Canvas/utils/Image/imageEffects.js +128 -0
  39. package/dist/cjs/Canvas/utils/Image/imageEffects.js.map +1 -0
  40. package/dist/cjs/Canvas/utils/Image/imageMasking.d.ts +67 -0
  41. package/dist/cjs/Canvas/utils/Image/imageMasking.d.ts.map +1 -0
  42. package/dist/cjs/Canvas/utils/Image/imageMasking.js +276 -0
  43. package/dist/cjs/Canvas/utils/Image/imageMasking.js.map +1 -0
  44. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -1
  45. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js +16 -8
  46. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -1
  47. package/dist/cjs/Canvas/utils/Texts/textPathRenderer.d.ts +17 -0
  48. package/dist/cjs/Canvas/utils/Texts/textPathRenderer.d.ts.map +1 -0
  49. package/dist/cjs/Canvas/utils/Texts/textPathRenderer.js +233 -0
  50. package/dist/cjs/Canvas/utils/Texts/textPathRenderer.js.map +1 -0
  51. package/dist/cjs/Canvas/utils/types.d.ts +153 -0
  52. package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
  53. package/dist/cjs/Canvas/utils/types.js.map +1 -1
  54. package/dist/cjs/Canvas/utils/utils.d.ts +9 -2
  55. package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -1
  56. package/dist/cjs/Canvas/utils/utils.js +32 -1
  57. package/dist/cjs/Canvas/utils/utils.js.map +1 -1
  58. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  59. package/dist/esm/Canvas/ApexPainter.d.ts +158 -145
  60. package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
  61. package/dist/esm/Canvas/ApexPainter.js +1443 -418
  62. package/dist/esm/Canvas/ApexPainter.js.map +1 -1
  63. package/dist/esm/Canvas/utils/Charts/charts.d.ts +7 -2
  64. package/dist/esm/Canvas/utils/Charts/charts.d.ts.map +1 -1
  65. package/dist/esm/Canvas/utils/Charts/charts.js +3 -1
  66. package/dist/esm/Canvas/utils/Charts/charts.js.map +1 -1
  67. package/dist/esm/Canvas/utils/Custom/advancedLines.d.ts +75 -0
  68. package/dist/esm/Canvas/utils/Custom/advancedLines.d.ts.map +1 -0
  69. package/dist/esm/Canvas/utils/Custom/advancedLines.js +263 -0
  70. package/dist/esm/Canvas/utils/Custom/advancedLines.js.map +1 -0
  71. package/dist/esm/Canvas/utils/Custom/customLines.d.ts +2 -1
  72. package/dist/esm/Canvas/utils/Custom/customLines.d.ts.map +1 -1
  73. package/dist/esm/Canvas/utils/Custom/customLines.js +73 -6
  74. package/dist/esm/Canvas/utils/Custom/customLines.js.map +1 -1
  75. package/dist/esm/Canvas/utils/General/batchOperations.d.ts +17 -0
  76. package/dist/esm/Canvas/utils/General/batchOperations.d.ts.map +1 -0
  77. package/dist/esm/Canvas/utils/General/batchOperations.js +88 -0
  78. package/dist/esm/Canvas/utils/General/batchOperations.js.map +1 -0
  79. package/dist/esm/Canvas/utils/General/general functions.d.ts +25 -3
  80. package/dist/esm/Canvas/utils/General/general functions.d.ts.map +1 -1
  81. package/dist/esm/Canvas/utils/General/general functions.js +37 -9
  82. package/dist/esm/Canvas/utils/General/general functions.js.map +1 -1
  83. package/dist/esm/Canvas/utils/General/imageCompression.d.ts +19 -0
  84. package/dist/esm/Canvas/utils/General/imageCompression.d.ts.map +1 -0
  85. package/dist/esm/Canvas/utils/General/imageCompression.js +262 -0
  86. package/dist/esm/Canvas/utils/General/imageCompression.js.map +1 -0
  87. package/dist/esm/Canvas/utils/General/imageStitching.d.ts +20 -0
  88. package/dist/esm/Canvas/utils/General/imageStitching.d.ts.map +1 -0
  89. package/dist/esm/Canvas/utils/General/imageStitching.js +227 -0
  90. package/dist/esm/Canvas/utils/General/imageStitching.js.map +1 -0
  91. package/dist/esm/Canvas/utils/Image/imageEffects.d.ts +37 -0
  92. package/dist/esm/Canvas/utils/Image/imageEffects.d.ts.map +1 -0
  93. package/dist/esm/Canvas/utils/Image/imageEffects.js +128 -0
  94. package/dist/esm/Canvas/utils/Image/imageEffects.js.map +1 -0
  95. package/dist/esm/Canvas/utils/Image/imageMasking.d.ts +67 -0
  96. package/dist/esm/Canvas/utils/Image/imageMasking.d.ts.map +1 -0
  97. package/dist/esm/Canvas/utils/Image/imageMasking.js +276 -0
  98. package/dist/esm/Canvas/utils/Image/imageMasking.js.map +1 -0
  99. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -1
  100. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js +16 -8
  101. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -1
  102. package/dist/esm/Canvas/utils/Texts/textPathRenderer.d.ts +17 -0
  103. package/dist/esm/Canvas/utils/Texts/textPathRenderer.d.ts.map +1 -0
  104. package/dist/esm/Canvas/utils/Texts/textPathRenderer.js +233 -0
  105. package/dist/esm/Canvas/utils/Texts/textPathRenderer.js.map +1 -0
  106. package/dist/esm/Canvas/utils/types.d.ts +153 -0
  107. package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
  108. package/dist/esm/Canvas/utils/types.js.map +1 -1
  109. package/dist/esm/Canvas/utils/utils.d.ts +9 -2
  110. package/dist/esm/Canvas/utils/utils.d.ts.map +1 -1
  111. package/dist/esm/Canvas/utils/utils.js +32 -1
  112. package/dist/esm/Canvas/utils/utils.js.map +1 -1
  113. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  114. package/lib/Canvas/ApexPainter.ts +1327 -266
  115. package/lib/Canvas/utils/Charts/charts.ts +16 -7
  116. package/lib/Canvas/utils/Custom/advancedLines.ts +335 -0
  117. package/lib/Canvas/utils/Custom/customLines.ts +84 -9
  118. package/lib/Canvas/utils/General/batchOperations.ts +103 -0
  119. package/lib/Canvas/utils/General/general functions.ts +85 -41
  120. package/lib/Canvas/utils/General/imageCompression.ts +316 -0
  121. package/lib/Canvas/utils/General/imageStitching.ts +252 -0
  122. package/lib/Canvas/utils/Image/imageEffects.ts +175 -0
  123. package/lib/Canvas/utils/Image/imageMasking.ts +335 -0
  124. package/lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts +455 -444
  125. package/lib/Canvas/utils/Texts/textPathRenderer.ts +320 -0
  126. package/lib/Canvas/utils/types.ts +156 -0
  127. package/lib/Canvas/utils/utils.ts +52 -2
  128. package/package.json +75 -35
  129. package/types/imgur.d.ts +65 -0
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/Canvas/utils/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAKH,wCAA0I;AA2BtI,oGA3BK,wBAAmB,OA2BL;AACnB,uGA5B0B,2BAAsB,OA4B1B;AACtB,iGA7BkD,qBAAgB,OA6BlD;AA+BhB,gGA5DoE,oBAAe,OA4DpE;AACf,4FA7DqF,gBAAW,OA6DrF;AACX,2FA9DkG,eAAU,OA8DlG;AA7Dd,6DAA6J;AAkDzJ,0FAlDK,2BAAS,OAkDL;AACT,8FAnDgB,+BAAa,OAmDhB;AACb,mGApD+B,oCAAkB,OAoD/B;AAClB,wFArDmD,yBAAO,OAqDnD;AAAE,gGArDmD,iCAAe,OAqDnD;AACxB,4FAtD6E,6BAAW,OAsD7E;AAEX,kGAxD0F,mCAAiB,OAwD1F;AADjB,4FAvD6G,6BAAW,OAuD7G;AAtDf,uDAAwD;AAmEpD,kGAnEK,gCAAiB,OAmEL;AAlErB,iFAAkF;AAmE9E,+GAnEK,0DAA8B,OAmEL;AAlElC,2DAA+D;AA0B3D,yFA1BK,yBAAQ,OA0BL;AACR,4FA3Be,4BAAW,OA2Bf;AA1Bf,mEAA4K;AA2BxK,2FA3BK,8BAAU,OA2BL;AACV,4FA5BiB,+BAAW,OA4BjB;AACX,0FA7B8B,6BAAS,OA6B9B;AACT,kGA9ByC,qCAAiB,OA8BzC;AACjB,2FA/B4D,8BAAU,OA+B5D;AAKV,0FApCwE,6BAAS,OAoCxE;AADT,0FAnCmF,6BAAS,OAmCnF;AAET,6FArC8F,gCAAY,OAqC9F;AACZ,4FAtC4G,+BAAW,OAsC5G;AACX,0FAvCyH,6BAAS,OAuCzH;AAtCb,sDAAmD;AAoB/C,4FApBK,yBAAW,OAoBL;AAnBf,4CAAuE;AA8BnE,iGA9BK,yBAAgB,OA8BL;AAChB,yFA/BuB,iBAAQ,OA+BvB;AACR,0FAhCiC,kBAAS,OAgCjC;AA/Bb,qDAAgF;AAI5E,oFAJK,gBAAG,OAIL;AAEH,4FANU,wBAAW,OAMV;AACX,uFAPuB,mBAAM,OAOvB;AACN,wFAR+B,oBAAO,OAQ/B;AACP,qFATwC,iBAAI,OASxC;AARR,4CAA4E;AAyDxE,0FAzDK,kBAAS,OAyDL;AACT,8FA1DgB,sBAAa,OA0DhB;AACb,gGA3D+B,wBAAe,OA2D/B"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/Canvas/utils/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;AAKH,wCAA0I;AAkCtI,oGAlCK,wBAAmB,OAkCL;AACnB,uGAnC0B,2BAAsB,OAmC1B;AACtB,iGApCkD,qBAAgB,OAoClD;AA+BhB,gGAnEoE,oBAAe,OAmEpE;AACf,4FApEqF,gBAAW,OAoErF;AACX,2FArEkG,eAAU,OAqElG;AApEd,6DAA6J;AAyDzJ,0FAzDK,2BAAS,OAyDL;AACT,8FA1DgB,+BAAa,OA0DhB;AACb,mGA3D+B,oCAAkB,OA2D/B;AAClB,wFA5DmD,yBAAO,OA4DnD;AAAE,gGA5DmD,iCAAe,OA4DnD;AACxB,4FA7D6E,6BAAW,OA6D7E;AAEX,kGA/D0F,mCAAiB,OA+D1F;AADjB,4FA9D6G,6BAAW,OA8D7G;AA7Df,uDAAwD;AA0EpD,kGA1EK,gCAAiB,OA0EL;AAzErB,iFAAkF;AA0E9E,+GA1EK,0DAA8B,OA0EL;AAzElC,2DAA+D;AAiC3D,yFAjCK,yBAAQ,OAiCL;AACR,4FAlCe,4BAAW,OAkCf;AAjCf,mEAA4K;AAkCxK,2FAlCK,8BAAU,OAkCL;AACV,4FAnCiB,+BAAW,OAmCjB;AACX,0FApC8B,6BAAS,OAoC9B;AACT,kGArCyC,qCAAiB,OAqCzC;AACjB,2FAtC4D,8BAAU,OAsC5D;AAKV,0FA3CwE,6BAAS,OA2CxE;AADT,0FA1CmF,6BAAS,OA0CnF;AAET,6FA5C8F,gCAAY,OA4C9F;AACZ,4FA7C4G,+BAAW,OA6C5G;AACX,0FA9CyH,6BAAS,OA8CzH;AA7Cb,sDAAmD;AA2B/C,4FA3BK,yBAAW,OA2BL;AA1Bf,4CAAuE;AAqCnE,iGArCK,yBAAgB,OAqCL;AAChB,yFAtCuB,iBAAQ,OAsCvB;AACR,0FAvCiC,kBAAS,OAuCjC;AAtCb,qDAAgF;AAW5E,oFAXK,gBAAG,OAWL;AAEH,4FAbU,wBAAW,OAaV;AACX,uFAduB,mBAAM,OAcvB;AACN,wFAf+B,oBAAO,OAe/B;AACP,qFAhBwC,iBAAI,OAgBxC;AAfR,4CAA4E;AAgExE,0FAhEK,kBAAS,OAgEL;AACT,8FAjEgB,sBAAa,OAiEhB;AACb,gGAlE+B,wBAAe,OAkE/B;AAjEnB,uDAAsI;AAwElI,+FAxEK,6BAAc,OAwEL;AACd,8FAzEqB,4BAAa,OAyErB;AACb,2GA1EoC,yCAA0B,OA0EpC;AAC1B,qGA3EgE,mCAAoB,OA2EhE;AACpB,8FA5EsF,4BAAa,OA4EtF;AA3EjB,uDAA+G;AA6E3G,8FA7EK,4BAAa,OA6EL;AACb,+FA9EoB,6BAAc,OA8EpB;AACd,yGA/EoC,uCAAwB,OA+EpC;AACxB,+FAhF8D,6BAAc,OAgF9D;AA/ElB,+DAA4D;AAiFxD,iGAjFK,mCAAgB,OAiFL;AAhFpB,0DAA+J;AAkF3J,0FAlFK,yBAAS,OAkFL;AACT,2FAnFgB,0BAAU,OAmFhB;AACV,iGApF4B,gCAAgB,OAoF5B;AAChB,qGArF8C,oCAAoB,OAqF9C;AACpB,iGAtFoE,gCAAgB,OAsFpE;AAChB,iGAvFsF,gCAAgB,OAuFtF;AAChB,mGAxFwG,kCAAkB,OAwFxG;AAvFtB,+DAA6E;AAyFzE,gGAzFK,iCAAe,OAyFL;AACf,gGA1FsB,iCAAe,OA0FtB;AAzFnB,6DAAuE;AA2FnE,6FA3FK,6BAAY,OA2FL;AACZ,8FA5FmB,8BAAa,OA4FnB;AA3FjB,iEAA2E;AA6FvE,8FA7FK,gCAAa,OA6FL;AACb,+FA9FoB,iCAAc,OA8FpB"}
@@ -1 +1 @@
1
- {"root":["../../lib/index.ts","../../lib/utils.ts","../../lib/canvas/apexpainter.ts","../../lib/canvas/utils/types.ts","../../lib/canvas/utils/utils.ts","../../lib/canvas/utils/background/bg.ts","../../lib/canvas/utils/charts/charts.ts","../../lib/canvas/utils/custom/customlines.ts","../../lib/canvas/utils/general/conversion.ts","../../lib/canvas/utils/general/general functions.ts","../../lib/canvas/utils/image/imagefilters.ts","../../lib/canvas/utils/image/imageproperties.ts","../../lib/canvas/utils/image/professionalimagefilters.ts","../../lib/canvas/utils/image/simpleprofessionalfilters.ts","../../lib/canvas/utils/patterns/enhancedpatternrenderer.ts","../../lib/canvas/utils/shapes/shapes.ts","../../lib/canvas/utils/texts/enhancedtextrenderer.ts","../../lib/canvas/utils/texts/textproperties.ts"],"version":"5.7.3"}
1
+ {"root":["../../lib/index.ts","../../lib/utils.ts","../../lib/canvas/apexpainter.ts","../../lib/canvas/utils/types.ts","../../lib/canvas/utils/utils.ts","../../lib/canvas/utils/background/bg.ts","../../lib/canvas/utils/charts/charts.ts","../../lib/canvas/utils/custom/advancedlines.ts","../../lib/canvas/utils/custom/customlines.ts","../../lib/canvas/utils/general/batchoperations.ts","../../lib/canvas/utils/general/conversion.ts","../../lib/canvas/utils/general/general functions.ts","../../lib/canvas/utils/general/imagecompression.ts","../../lib/canvas/utils/general/imagestitching.ts","../../lib/canvas/utils/image/imageeffects.ts","../../lib/canvas/utils/image/imagefilters.ts","../../lib/canvas/utils/image/imagemasking.ts","../../lib/canvas/utils/image/imageproperties.ts","../../lib/canvas/utils/image/professionalimagefilters.ts","../../lib/canvas/utils/image/simpleprofessionalfilters.ts","../../lib/canvas/utils/patterns/enhancedpatternrenderer.ts","../../lib/canvas/utils/shapes/shapes.ts","../../lib/canvas/utils/texts/enhancedtextrenderer.ts","../../lib/canvas/utils/texts/textpathrenderer.ts","../../lib/canvas/utils/texts/textproperties.ts","../../types/imgur.d.ts"],"version":"5.9.2"}
@@ -1,5 +1,5 @@
1
1
  import { PathLike } from "fs";
2
- import { OutputFormat, CanvasConfig, TextProperties, ImageProperties, GIFOptions, GIFResults, CustomOptions, cropOptions, Frame, ExtractFramesOptions, ResizeOptions, MaskOptions, BlendOptions } from "./utils/utils";
2
+ import { OutputFormat, CanvasConfig, TextProperties, ImageProperties, GIFOptions, GIFResults, CustomOptions, cropOptions, GradientConfig, Frame, ExtractFramesOptions, ResizeOptions, MaskOptions, BlendOptions, ImageFilter, BatchOperation, ChainOperation, StitchOptions, CollageLayout, CompressionOptions, PaletteOptions, SaveOptions, SaveResult } from "./utils/utils";
3
3
  interface CanvasResults {
4
4
  buffer: Buffer;
5
5
  canvas: CanvasConfig;
@@ -7,146 +7,23 @@ interface CanvasResults {
7
7
  export declare class ApexPainter {
8
8
  #private;
9
9
  private format?;
10
+ private saveCounter;
10
11
  constructor({ type }?: OutputFormat);
11
- /**
12
- * Creates a canvas with the given configuration.
13
- * Applies rotation, shadow, border effects, background, and stroke.
14
- *
15
- * @param canvas - Canvas configuration object containing:
16
- * - width: Canvas width in pixels
17
- * - height: Canvas height in pixels
18
- * - x: X position offset (default: 0)
19
- * - y: Y position offset (default: 0)
20
- * - colorBg: Solid color background (hex, rgb, rgba, hsl, etc.)
21
- * - gradientBg: Gradient background configuration
22
- * - customBg: Custom background image buffer
23
- * - zoom: Canvas zoom level (default: 1)
24
- * - pattern: Pattern background configuration
25
- * - noise: Noise effect configuration
26
- *
27
- * @returns Promise<CanvasResults> - Object containing canvas buffer and configuration
28
- *
29
- * @throws Error if canvas configuration is invalid or conflicting
30
- *
31
- * @example
32
- * ```typescript
33
- * const result = await painter.createCanvas({
34
- * width: 800,
35
- * height: 600,
36
- * colorBg: '#ffffff',
37
- * zoom: 1.5
38
- * });
39
- * const buffer = result.buffer;
40
- * ```
41
- */
42
12
  createCanvas(canvas: CanvasConfig): Promise<CanvasResults>;
43
- /**
44
- * Draws one or more images (or shapes) on an existing canvas buffer.
45
- *
46
- * @param images - Single ImageProperties object or array of ImageProperties containing:
47
- * - source: Image path/URL/Buffer or ShapeType ('rectangle', 'circle', etc.)
48
- * - x: X position on canvas
49
- * - y: Y position on canvas
50
- * - width: Image/shape width (optional, defaults to original size)
51
- * - height: Image/shape height (optional, defaults to original size)
52
- * - inherit: Use original image dimensions (boolean)
53
- * - fit: Image fitting mode ('fill', 'contain', 'cover', 'scale-down', 'none')
54
- * - align: Image alignment ('center', 'start', 'end')
55
- * - rotation: Rotation angle in degrees (default: 0)
56
- * - opacity: Opacity level 0-1 (default: 1)
57
- * - blur: Blur radius in pixels (default: 0)
58
- * - borderRadius: Border radius or 'circular' (default: 0)
59
- * - borderPosition: Border position ('all', 'top', 'bottom', 'left', 'right')
60
- * - filters: Array of image filters to apply
61
- * - shape: Shape properties (when source is a shape)
62
- * - shadow: Shadow configuration
63
- * - stroke: Stroke configuration
64
- * - boxBackground: Background behind image/shape
65
- *
66
- * @param canvasBuffer - Existing canvas buffer (Buffer) or CanvasResults object
67
- *
68
- * @returns Promise<Buffer> - Updated canvas buffer in PNG format
69
- *
70
- * @throws Error if source, x, or y are missing
71
- *
72
- * @example
73
- * ```typescript
74
- * const result = await painter.createImage([
75
- * {
76
- * source: 'rectangle',
77
- * x: 100, y: 100,
78
- * width: 200, height: 150,
79
- * shape: { fill: true, color: '#ff6b6b' },
80
- * shadow: { color: 'rgba(0,0,0,0.3)', offsetX: 5, offsetY: 5, blur: 10 }
81
- * }
82
- * ], canvasBuffer);
83
- * ```
84
- */
85
13
  createImage(images: ImageProperties | ImageProperties[], canvasBuffer: CanvasResults | Buffer): Promise<Buffer>;
86
- /**
87
- * Creates text on an existing canvas buffer with enhanced styling options.
88
- *
89
- * @param textArray - Single TextProperties object or array of TextProperties containing:
90
- * - text: Text content to render (required)
91
- * - x: X position on canvas (required)
92
- * - y: Y position on canvas (required)
93
- * - fontPath: Path to custom font file (.ttf, .otf, .woff, etc.)
94
- * - fontName: Custom font name (used with fontPath)
95
- * - fontSize: Font size in pixels (default: 16)
96
- * - fontFamily: Font family name (e.g., 'Arial', 'Helvetica')
97
- * - bold: Make text bold (boolean)
98
- * - italic: Make text italic (boolean)
99
- * - underline: Add underline decoration (boolean)
100
- * - overline: Add overline decoration (boolean)
101
- * - strikethrough: Add strikethrough decoration (boolean)
102
- * - highlight: Highlight text with background color and opacity
103
- * - lineHeight: Line height multiplier (default: 1.4)
104
- * - letterSpacing: Space between letters in pixels
105
- * - wordSpacing: Space between words in pixels
106
- * - maxWidth: Maximum width for text wrapping
107
- * - maxHeight: Maximum height for text (truncates with ellipsis)
108
- * - textAlign: Horizontal text alignment ('left', 'center', 'right', 'start', 'end')
109
- * - textBaseline: Vertical text baseline ('alphabetic', 'bottom', 'hanging', 'ideographic', 'middle', 'top')
110
- * - color: Text color (hex, rgb, rgba, hsl, etc.)
111
- * - gradient: Gradient fill for text
112
- * - opacity: Text opacity (0-1, default: 1)
113
- * - glow: Text glow effect with color, intensity, and opacity
114
- * - shadow: Text shadow effect with color, offset, blur, and opacity
115
- * - stroke: Text stroke/outline with color, width, gradient, and opacity
116
- * - rotation: Text rotation in degrees
117
- *
118
- * @param canvasBuffer - Existing canvas buffer (Buffer) or CanvasResults object
119
- *
120
- * @returns Promise<Buffer> - Updated canvas buffer in PNG format
121
- *
122
- * @throws Error if text, x, or y are missing, or if canvas buffer is invalid
123
- *
124
- * @example
125
- * ```typescript
126
- * const result = await painter.createText([
127
- * {
128
- * text: "Hello World!",
129
- * x: 100, y: 100,
130
- * fontSize: 24,
131
- * bold: true,
132
- * color: '#ff6b6b',
133
- * shadow: { color: 'rgba(0,0,0,0.3)', offsetX: 2, offsetY: 2, blur: 4 },
134
- * underline: true,
135
- * highlight: { color: '#ffff00', opacity: 0.3 }
136
- * }
137
- * ], canvasBuffer);
138
- * ```
139
- */
140
14
  createText(textArray: TextProperties | TextProperties[], canvasBuffer: CanvasResults | Buffer): Promise<Buffer>;
141
- createCustom(options: CustomOptions[], buffer: CanvasResults | Buffer): Promise<Buffer>;
15
+ createCustom(options: CustomOptions | CustomOptions[], buffer: CanvasResults | Buffer): Promise<Buffer>;
142
16
  createGIF(gifFrames: {
143
17
  background: string;
144
18
  duration: number;
145
- }[], options: GIFOptions): Promise<GIFResults | any>;
146
- resize(resizeOptions: ResizeOptions): Promise<Buffer<ArrayBufferLike>>;
147
- imgConverter(source: string, newExtension: string): Promise<Buffer<ArrayBufferLike>>;
148
- effects(source: string, filters: any[]): Promise<Buffer<ArrayBufferLike>>;
149
- colorsFilter(source: string, filterColor: any, opacity?: number): Promise<any>;
19
+ }[], options: GIFOptions): Promise<GIFResults | Buffer | string | Array<{
20
+ attachment: NodeJS.ReadableStream | any;
21
+ name: string;
22
+ }> | undefined>;
23
+ resize(resizeOptions: ResizeOptions): Promise<Buffer>;
24
+ imgConverter(source: string, newExtension: string): Promise<Buffer>;
25
+ effects(source: string, filters: ImageFilter[]): Promise<Buffer>;
26
+ colorsFilter(source: string, filterColor: string | GradientConfig, opacity?: number): Promise<Buffer>;
150
27
  colorAnalysis(source: string): Promise<{
151
28
  color: string;
152
29
  frequency: string;
@@ -155,24 +32,26 @@ export declare class ApexPainter {
155
32
  red: number;
156
33
  green: number;
157
34
  blue: number;
158
- }): Promise<Buffer<ArrayBufferLike> | undefined>;
159
- removeBackground(imageURL: string, apiKey: string): Promise<Buffer<ArrayBufferLike> | undefined>;
160
- blend(layers: {
35
+ }): Promise<Buffer | undefined>;
36
+ removeBackground(imageURL: string, apiKey: string): Promise<Buffer | undefined>;
37
+ blend(layers: Array<{
161
38
  image: string | Buffer;
162
- blendMode: 'source-over' | 'source-in' | 'source-out' | 'source-atop' | 'destination-over' | 'destination-in' | 'destination-out' | 'destination-atop' | 'lighter' | 'copy' | 'xor' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity';
39
+ blendMode: GlobalCompositeOperation;
163
40
  position?: {
164
41
  x: number;
165
42
  y: number;
166
43
  };
167
44
  opacity?: number;
168
- }[], baseImageBuffer: Buffer, defaultBlendMode?: 'source-over' | 'source-in' | 'source-out' | 'source-atop' | 'destination-over' | 'destination-in' | 'destination-out' | 'destination-atop' | 'lighter' | 'copy' | 'xor' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity'): Promise<Buffer>;
169
- createChart(data: any, type: {
45
+ }>, baseImageBuffer: Buffer, defaultBlendMode?: GlobalCompositeOperation): Promise<Buffer>;
46
+ createChart(data: unknown, type: {
170
47
  chartType: string;
171
48
  chartNumber: number;
172
- }): Promise<Buffer<ArrayBufferLike> | undefined>;
49
+ }): Promise<Buffer>;
173
50
  cropImage(options: cropOptions): Promise<Buffer>;
174
- private drawImage;
175
- extractFrames(videoSource: string | Buffer, options: ExtractFramesOptions): Promise<any[]>;
51
+ extractFrames(videoSource: string | Buffer, options: ExtractFramesOptions): Promise<Array<{
52
+ source: string;
53
+ isRemote: boolean;
54
+ }>>;
176
55
  masking(source: string | Buffer | PathLike | Uint8Array, maskSource: string | Buffer | PathLike | Uint8Array, options?: MaskOptions): Promise<Buffer>;
177
56
  gradientBlend(source: string | Buffer | PathLike | Uint8Array, options: BlendOptions): Promise<Buffer>;
178
57
  animate(frames: Frame[], defaultDuration: number, defaultWidth?: number, defaultHeight?: number, options?: {
@@ -182,8 +61,142 @@ export declare class ApexPainter {
182
61
  onFrame?: (index: number) => void;
183
62
  onEnd?: () => void;
184
63
  }): Promise<Buffer[] | undefined>;
185
- validHex(hexColor: string): any;
186
- outPut(results: any): Promise<void | Buffer | string | Blob | Object | HTMLCanvasElement>;
64
+ /**
65
+ * Processes multiple operations in parallel
66
+ * @param operations - Array of operations to process
67
+ * @returns Array of result buffers
68
+ */
69
+ batch(operations: BatchOperation[]): Promise<Buffer[]>;
70
+ /**
71
+ * Chains multiple operations sequentially
72
+ * @param operations - Array of operations to chain
73
+ * @returns Final result buffer
74
+ */
75
+ chain(operations: ChainOperation[]): Promise<Buffer>;
76
+ /**
77
+ * Stitches multiple images together
78
+ * @param images - Array of image sources
79
+ * @param options - Stitching options
80
+ * @returns Stitched image buffer
81
+ */
82
+ stitchImages(images: Array<string | Buffer>, options?: StitchOptions): Promise<Buffer>;
83
+ /**
84
+ * Creates an image collage
85
+ * @param images - Array of image sources with optional dimensions
86
+ * @param layout - Collage layout configuration
87
+ * @returns Collage image buffer
88
+ */
89
+ createCollage(images: Array<{
90
+ source: string | Buffer;
91
+ width?: number;
92
+ height?: number;
93
+ }>, layout: CollageLayout): Promise<Buffer>;
94
+ /**
95
+ * Compresses an image with quality control
96
+ * @param image - Image source (path, URL, or Buffer)
97
+ * @param options - Compression options
98
+ * @returns Compressed image buffer
99
+ */
100
+ compress(image: string | Buffer, options?: CompressionOptions): Promise<Buffer>;
101
+ /**
102
+ * Extracts color palette from an image
103
+ * @param image - Image source (path, URL, or Buffer)
104
+ * @param options - Palette extraction options
105
+ * @returns Array of colors with percentages
106
+ */
107
+ extractPalette(image: string | Buffer, options?: PaletteOptions): Promise<Array<{
108
+ color: string;
109
+ percentage: number;
110
+ }>>;
111
+ /**
112
+ * Validates a hexadecimal color string.
113
+ * @param hexColor - Hexadecimal color string to validate (format: #RRGGBB)
114
+ * @returns True if the color is valid
115
+ * @throws Error if the color format is invalid
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * painter.validHex('#ff0000'); // true
120
+ * painter.validHex('#FF00FF'); // true
121
+ * painter.validHex('invalid'); // throws Error
122
+ * ```
123
+ */
124
+ validHex(hexColor: string): boolean;
125
+ /**
126
+ * Converts results to the configured output format.
127
+ * @param results - Buffer or result to convert
128
+ * @returns Converted result in the configured format
129
+ * @throws Error if format is unsupported or conversion fails
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * const painter = new ApexPainter({ type: 'base64' });
134
+ * const result = await painter.createCanvas({ width: 100, height: 100 });
135
+ * const base64String = await painter.outPut(result.buffer); // Returns base64 string
136
+ * ```
137
+ */
138
+ outPut(results: Buffer): Promise<Buffer | string | Blob | ArrayBuffer>;
139
+ /**
140
+ * Advanced save method to save buffers to local files with extensive customization options.
141
+ *
142
+ * @param buffer - Buffer to save (from createCanvas, createImage, createText, etc.)
143
+ * @param options - Save options for file path, format, naming, etc.
144
+ * @returns SaveResult with file path, name, size, and format
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * // Simple save with auto-generated name
149
+ * const canvas = await painter.createCanvas({ width: 800, height: 600 });
150
+ * const result = await painter.save(canvas.buffer);
151
+ * // Saves to: ./ApexPainter_output/20241220_143025_123.png
152
+ *
153
+ * // Custom filename and directory
154
+ * await painter.save(canvas.buffer, {
155
+ * directory: './my-images',
156
+ * filename: 'my-canvas',
157
+ * format: 'jpg',
158
+ * quality: 95
159
+ * });
160
+ *
161
+ * // Save with counter naming
162
+ * await painter.save(canvas.buffer, {
163
+ * naming: 'counter',
164
+ * prefix: 'image-',
165
+ * counterStart: 1
166
+ * });
167
+ * // Saves to: ./ApexPainter_output/image-1.png, image-2.png, etc.
168
+ *
169
+ * // Save multiple buffers
170
+ * const buffers = [canvas1.buffer, canvas2.buffer, canvas3.buffer];
171
+ * const results = await painter.saveMultiple(buffers, {
172
+ * prefix: 'batch-',
173
+ * naming: 'counter'
174
+ * });
175
+ * ```
176
+ */
177
+ save(buffer: Buffer, options?: SaveOptions): Promise<SaveResult>;
178
+ /**
179
+ * Save multiple buffers at once with batch options.
180
+ *
181
+ * @param buffers - Array of buffers to save
182
+ * @param options - Save options (applied to all files)
183
+ * @returns Array of SaveResult objects
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * const canvas1 = await painter.createCanvas({ width: 800, height: 600 });
188
+ * const canvas2 = await painter.createCanvas({ width: 800, height: 600 });
189
+ * const results = await painter.saveMultiple([canvas1.buffer, canvas2.buffer], {
190
+ * prefix: 'batch-',
191
+ * naming: 'counter'
192
+ * });
193
+ * ```
194
+ */
195
+ saveMultiple(buffers: Buffer[], options?: SaveOptions): Promise<SaveResult[]>;
196
+ /**
197
+ * Reset the save counter (useful when using 'counter' naming).
198
+ */
199
+ resetSaveCounter(): void;
187
200
  }
188
201
  export {};
189
202
  //# sourceMappingURL=ApexPainter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApexPainter.d.ts","sourceRoot":"","sources":["../../../lib/Canvas/ApexPainter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApexPainter.d.ts","sourceRoot":"","sources":["../../../lib/Canvas/ApexPainter.ts"],"names":[],"mappings":"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"}