UNPKG

@neabyte/chart-to-image

Version:

Convert trading charts to images using Node.js canvas with advanced features: 6 chart types, VWAP/EMA/SMA indicators, custom colors, themes, hide elements, scaling, and PNG/JPEG export formats.

99 lines (98 loc) 3.33 kB
import type { CanvasRenderingContext2D } from 'canvas'; import type { ChartDimensions, PriceRange, WatermarkConfig } from '../renderer/types.js'; import type { ChartOptions, HorizontalLevel } from '../types/types.js'; interface ChartOHLC { time: number; open: number; high: number; low: number; close: number; volume?: number; } export declare class AxesRenderer { private ctx; private dimensions; private priceRange; private config; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions); render(ohlc: ChartOHLC[]): void; private drawPriceLabels; private drawTimeLabels; } export declare class GridRenderer { private ctx; private dimensions; private config; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, config: ChartOptions); render(): void; } export declare class VolumeRenderer { private ctx; private dimensions; private config; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, config: ChartOptions); render(ohlc: ChartOHLC[]): void; } export declare class VWAPRenderer { private ctx; private dimensions; private priceRange; private config; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions); private calculateVWAP; render(ohlc: ChartOHLC[]): void; } export declare class EMARenderer { private ctx; private dimensions; private priceRange; private config; private period; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions, period: number); private calculateEMA; render(ohlc: ChartOHLC[]): void; } export declare class SMARenderer { private ctx; private dimensions; private priceRange; private config; private period; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions, period: number); private calculateSMA; render(ohlc: ChartOHLC[]): void; } export declare class BollingerBandsRenderer { private ctx; private dimensions; private priceRange; private config; private period; private standardDeviations; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange, config: ChartOptions, period: number, standardDeviations?: number); private calculateBollingerBands; renderBackground(ohlc: ChartOHLC[]): void; renderLines(ohlc: ChartOHLC[]): void; } export declare class LevelsRenderer { private ctx; private dimensions; private priceRange; constructor(ctx: CanvasRenderingContext2D, dimensions: ChartDimensions, priceRange: PriceRange); render(levels: HorizontalLevel[]): void; } export declare class TitleRenderer { private ctx; private width; private config; constructor(ctx: CanvasRenderingContext2D, width: number, config: ChartOptions); render(title: string): void; } export declare class WatermarkRenderer { private ctx; private width; private height; constructor(ctx: CanvasRenderingContext2D, width: number, height: number); render(watermark: string | WatermarkConfig): void; } export {};