import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class ChartMenuService { constructor() { } closeDom(elementRef: any,domClassName: string) { let dom = elementRef.nativeElement.querySelector('.' + domClassName); dom.style.display = "none"; } downloadEchartImage(optionInit: any, fileName: string, imageType: string) { var svgBase64 = optionInit._api.getDataURL(); var image = new Image(); image.src = svgBase64; var canvas = window.document.createElement('canvas'); canvas.width = optionInit._api.getWidth(); canvas.height = optionInit._api.getHeight(); var ctx = canvas.getContext('2d'); // 延时加载 image.onload = function() { ctx.drawImage(image, 0, 0, canvas.width, canvas.height); var dataUrl = canvas.toDataURL('image/png'); var dLink = window.document.createElement('img'); dLink.setAttribute('src', dataUrl); dLink.onload = function() { var a = window.document.createElement('a'); a.download = fileName + imageType; a.href = dLink.getAttribute('src'); a.click(); } } } customPrint(optionInit: any, printComponent) { var svgBase64 = optionInit._api.getDataURL(); console.log(svgBase64) var img = window.document.createElement('img'); img.setAttribute('src', svgBase64); printComponent.print(img); } fullScreen(element: any) { if (element.requestFullScreen) { element.requestFullscreen(); } else if (element.msRequestFullScreen) { element.msRequestFullScreen(); } else if (element.webkitRequestFullScreen) { element.webkitRequestFullScreen(); } else if (element.mozRequestFullScreen) { element.mozRequestFullScreen(); } } }