Export Chart Image API
API reference for exporting charts as images in various formats.
Chart Methods
getCanvas()
Get the chart’s canvas element.
chart.getCanvas(): HTMLCanvasElement
Returns: Canvas element
Example:
const canvas = chart.getCanvas()
console.log(canvas.width, canvas.height)
exportImage()
Export chart as an image.
chart.exportImage(options?: ExportOptions): Promise<Blob>
interface ExportOptions {
format?: 'png' | 'jpeg' | 'webp'
quality?: number // 0-1 for jpeg/webp
scale?: number // Resolution multiplier
width?: number
height?: number
backgroundColor?: string
}
Parameters:
options(optional): Export configuration
Returns: Promise<Blob>
Example:
const blob = await chart.exportImage({
format: 'png',
scale: 2,
quality: 0.92
})
exportDataURL()
Export chart as a data URL.
chart.exportDataURL(options?: ExportOptions): string
Parameters:
options(optional): Export configuration
Returns: Data URL string
Example:
const dataURL = chart.exportDataURL({ format: 'png' })
const img = document.createElement('img')
img.src = dataURL
ChartExporter
Constructor
class ChartExporter {
constructor(chart: TradeXChart)
}
Parameters:
chart: TradeX chart instance
Example:
const exporter = new ChartExporter(chart)
Methods
exportPNG()
Export as PNG.
exportPNG(options?: PNGOptions): Promise<void>
interface PNGOptions {
filename?: string
scale?: number
quality?: number
}
Parameters:
options(optional): PNG export options
Returns: Promise<void>
Example:
await exporter.exportPNG({
filename: 'chart.png',
scale: 2
})
exportJPEG()
Export as JPEG.
exportJPEG(options?: JPEGOptions): Promise<void>
interface JPEGOptions {
filename?: string
scale?: number
quality?: number
backgroundColor?: string
}
Parameters:
options(optional): JPEG export options
Returns: Promise<void>
Example:
await exporter.exportJPEG({
filename: 'chart.jpg',
quality: 0.9,
backgroundColor: '#ffffff'
})
exportSVG()
Export as SVG.
exportSVG(filename?: string): Promise<void>
Parameters:
filename(optional): Output filename
Returns: Promise<void>
Example:
await exporter.exportSVG('chart.svg')
exportPDF()
Export as PDF.
exportPDF(filename?: string): Promise<void>
Parameters:
filename(optional): Output filename
Returns: Promise<void>
Example:
await exporter.exportPDF('chart.pdf')
copyToClipboard()
Copy chart image to clipboard.
copyToClipboard(): Promise<void>
Returns: Promise<void>
Example:
await exporter.copyToClipboard()
console.log('Chart copied to clipboard')
Canvas Methods
toBlob()
Convert canvas to Blob.
canvas.toBlob(
callback: (blob: Blob) => void,
type?: string,
quality?: number
): void
Parameters:
callback: Function to receive the blobtype(optional): MIME type (default: ‘image/png’)quality(optional): Quality 0-1 for lossy formats
Example:
canvas.toBlob((blob) => {
const url = URL.createObjectURL(blob)
// Use the blob URL
}, 'image/png')
toDataURL()
Convert canvas to data URL.
canvas.toDataURL(type?: string, quality?: number): string
Parameters:
type(optional): MIME type (default: ‘image/png’)quality(optional): Quality 0-1 for lossy formats
Returns: Data URL string
Example:
const dataURL = canvas.toDataURL('image/jpeg', 0.9)
Clipboard API
Write to Clipboard
navigator.clipboard.write(data: ClipboardItem[]): Promise<void>
Example:
const canvas = chart.getCanvas()
canvas.toBlob(async (blob) => {
await navigator.clipboard.write([
new ClipboardItem({ 'image/png': blob })
])
})
Download Helper
Download Blob
function downloadBlob(blob: Blob, filename: string): void
Parameters:
blob: Blob to downloadfilename: Output filename
Example:
function downloadBlob(blob, filename) {
const url = URL.createObjectURL(blob)
const link = document.createElement('a')
link.href = url
link.download = filename
link.click()
URL.revokeObjectURL(url)
}
TypeScript Definitions
declare module 'tradex-chart' {
export interface ExportOptions {
format?: 'png' | 'jpeg' | 'webp'
quality?: number
scale?: number
width?: number
height?: number
backgroundColor?: string
}
export class ChartExporter {
constructor(chart: TradeXChart)
exportPNG(options?: PNGOptions): Promise<void>
exportJPEG(options?: JPEGOptions): Promise<void>
exportSVG(filename?: string): Promise<void>
exportPDF(filename?: string): Promise<void>
copyToClipboard(): Promise<void>
}
export interface TradeXChart {
getCanvas(): HTMLCanvasElement
exportImage(options?: ExportOptions): Promise<Blob>
exportDataURL(options?: ExportOptions): string
}
}
Related Documentation
- Example - Export example
- Configuration - Chart configuration