apexify.js 5.2.0 → 5.2.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.
- package/README.md +17 -17
- package/dist/cjs/Canvas/ApexPainter.d.ts +5 -4
- package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
- package/dist/cjs/Canvas/ApexPainter.js +48 -2
- package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
- package/dist/cjs/Canvas/extended/ChartCreator.js +1 -1
- package/dist/cjs/Canvas/extended/ChartCreator.js.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts +3 -0
- package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -1
- package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js.map +1 -1
- package/dist/esm/Canvas/ApexPainter.d.ts +5 -4
- package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
- package/dist/esm/Canvas/ApexPainter.js +48 -2
- package/dist/esm/Canvas/ApexPainter.js.map +1 -1
- package/dist/esm/Canvas/extended/ChartCreator.js +1 -1
- package/dist/esm/Canvas/extended/ChartCreator.js.map +1 -1
- package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts +3 -0
- package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -1
- package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -222,25 +222,25 @@ import { ApexPainter } from 'apexify.js';
|
|
|
222
222
|
const painter = new ApexPainter();
|
|
223
223
|
|
|
224
224
|
// Create a canvas
|
|
225
|
-
const canvas = await painter.createCanvas({
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
});
|
|
236
|
-
|
|
225
|
+
const canvas = await painter.createCanvas({
|
|
226
|
+
width: 1200,
|
|
227
|
+
height: 630,
|
|
228
|
+
gradientBg: {
|
|
229
|
+
type: 'linear',
|
|
230
|
+
colors: [
|
|
231
|
+
{ stop: 0, color: '#667EEA' },
|
|
232
|
+
{ stop: 1, color: '#764BA2' }
|
|
233
|
+
]
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
|
|
237
237
|
// Add text
|
|
238
238
|
const text = await painter.createText({
|
|
239
239
|
text: 'Hello, World!',
|
|
240
|
-
|
|
241
|
-
|
|
240
|
+
x: 600,
|
|
241
|
+
y: 315,
|
|
242
242
|
fontSize: 48,
|
|
243
|
-
|
|
243
|
+
color: '#FFFFFF',
|
|
244
244
|
fontFamily: 'Arial'
|
|
245
245
|
}, canvas);
|
|
246
246
|
|
|
@@ -251,8 +251,8 @@ const image = await painter.createImage({
|
|
|
251
251
|
y: 100,
|
|
252
252
|
width: 200,
|
|
253
253
|
height: 200
|
|
254
|
-
}, canvas);
|
|
255
|
-
|
|
254
|
+
}, canvas);
|
|
255
|
+
|
|
256
256
|
// Save result
|
|
257
257
|
await painter.save(image, {
|
|
258
258
|
path: './output.png',
|
|
@@ -2,6 +2,10 @@ import { PathLike } from "fs";
|
|
|
2
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
|
import { type CanvasResults } from "./extended/CanvasCreator";
|
|
4
4
|
import { VideoCreationOptions } from "./extended/VideoCreator";
|
|
5
|
+
import type { PieSlice, PieChartOptions } from "./utils/Charts/piechart";
|
|
6
|
+
import type { BarChartData, BarChartOptions } from "./utils/Charts/barchart";
|
|
7
|
+
import type { HorizontalBarChartData, HorizontalBarChartOptions } from "./utils/Charts/horizontalbarchart";
|
|
8
|
+
import type { LineSeries, LineChartOptions } from "./utils/Charts/linechart";
|
|
5
9
|
export declare class ApexPainter {
|
|
6
10
|
#private;
|
|
7
11
|
private format?;
|
|
@@ -435,10 +439,7 @@ export declare class ApexPainter {
|
|
|
435
439
|
* );
|
|
436
440
|
* ```
|
|
437
441
|
*/
|
|
438
|
-
createChart(chartType:
|
|
439
|
-
createChart(chartType: 'bar', data: import('./utils/Charts/barchart').BarChartData[], options?: import('./utils/Charts/barchart').BarChartOptions): Promise<Buffer>;
|
|
440
|
-
createChart(chartType: 'horizontalBar', data: import('./utils/Charts/horizontalbarchart').HorizontalBarChartData[], options?: import('./utils/Charts/horizontalbarchart').HorizontalBarChartOptions): Promise<Buffer>;
|
|
441
|
-
createChart(chartType: 'line', data: import('./utils/Charts/linechart').LineSeries[], options?: import('./utils/Charts/linechart').LineChartOptions): Promise<Buffer>;
|
|
442
|
+
createChart<T extends 'pie' | 'bar' | 'horizontalBar' | 'line'>(chartType: T, data: T extends 'pie' ? PieSlice[] | any[] : T extends 'bar' ? BarChartData[] | any[] : T extends 'horizontalBar' ? HorizontalBarChartData[] | any[] : T extends 'line' ? LineSeries[] | any[] : never, options?: T extends 'pie' ? PieChartOptions | any : T extends 'bar' ? BarChartOptions | any : T extends 'horizontalBar' ? HorizontalBarChartOptions | any : T extends 'line' ? LineChartOptions | any : never): Promise<Buffer>;
|
|
442
443
|
/**
|
|
443
444
|
* Creates a comparison chart with two charts side by side or top/bottom.
|
|
444
445
|
* Each chart can be of any type (pie, bar, horizontalBar, line, donut) with its own data and config.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApexPainter.d.ts","sourceRoot":"","sources":["../../../lib/Canvas/ApexPainter.ts"],"names":[],"mappings":"AAMA,OAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAKlC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAGpF,cAAc,EAAE,KAAK,EACrD,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAC9D,WAAW,EAIX,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAChG,WAAW,EAAE,UAAU,EAGtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK7E,OAAO,EAAgB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ApexPainter.d.ts","sourceRoot":"","sources":["../../../lib/Canvas/ApexPainter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3534,8 +3534,54 @@ class ApexPainter {
|
|
|
3534
3534
|
throw new Error(`saveMultiple failed: ${(0, utils_1.getErrorMessage)(error)}`);
|
|
3535
3535
|
}
|
|
3536
3536
|
}
|
|
3537
|
-
|
|
3538
|
-
|
|
3537
|
+
/**
|
|
3538
|
+
* Creates a chart based on the chart type.
|
|
3539
|
+
*
|
|
3540
|
+
* @param chartType - Type of chart to create ('pie', 'bar', 'horizontalBar', 'line')
|
|
3541
|
+
* @param data - Chart data (varies by chart type)
|
|
3542
|
+
* @param options - Chart options (varies by chart type)
|
|
3543
|
+
* @returns Promise<Buffer> - Chart image buffer
|
|
3544
|
+
*
|
|
3545
|
+
* @example
|
|
3546
|
+
* ```typescript
|
|
3547
|
+
* // Pie Chart
|
|
3548
|
+
* const pieChart = await painter.createChart('pie',
|
|
3549
|
+
* [{ label: 'A', value: 30, color: '#ff0000' }],
|
|
3550
|
+
* { dimensions: { width: 800, height: 600 } }
|
|
3551
|
+
* );
|
|
3552
|
+
*
|
|
3553
|
+
* // Bar Chart
|
|
3554
|
+
* const barChart = await painter.createChart('bar',
|
|
3555
|
+
* [{ label: 'Jan', value: 20, xStart: 1, xEnd: 2, color: '#4A90E2' }],
|
|
3556
|
+
* { dimensions: { height: 600 } }
|
|
3557
|
+
* );
|
|
3558
|
+
*
|
|
3559
|
+
* // Horizontal Bar Chart
|
|
3560
|
+
* const hBarChart = await painter.createChart('horizontalBar',
|
|
3561
|
+
* [{ label: 'Product A', value: 150, color: '#4A90E2' }],
|
|
3562
|
+
* { dimensions: { width: 800 } }
|
|
3563
|
+
* );
|
|
3564
|
+
*
|
|
3565
|
+
* // Line Chart
|
|
3566
|
+
* const lineChart = await painter.createChart('line',
|
|
3567
|
+
* [{ label: 'Series 1', data: [{ x: 1, y: 10 }, { x: 2, y: 20 }], color: '#4A90E2' }],
|
|
3568
|
+
* { dimensions: { width: 800, height: 600 } }
|
|
3569
|
+
* );
|
|
3570
|
+
* ```
|
|
3571
|
+
*/
|
|
3572
|
+
async createChart(chartType, data, options) {
|
|
3573
|
+
switch (chartType) {
|
|
3574
|
+
case 'pie':
|
|
3575
|
+
return await this.chartCreator.createChart('pie', data, options);
|
|
3576
|
+
case 'bar':
|
|
3577
|
+
return await this.chartCreator.createChart('bar', data, options);
|
|
3578
|
+
case 'horizontalBar':
|
|
3579
|
+
return await this.chartCreator.createChart('horizontalBar', data, options);
|
|
3580
|
+
case 'line':
|
|
3581
|
+
return await this.chartCreator.createChart('line', data, options);
|
|
3582
|
+
default:
|
|
3583
|
+
throw new Error(`Unsupported chart type: ${chartType}`);
|
|
3584
|
+
}
|
|
3539
3585
|
}
|
|
3540
3586
|
/**
|
|
3541
3587
|
* Creates a comparison chart with two charts side by side or top/bottom.
|