Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const addSVG = (doc, paperData, svgData, pixelToMMFactor) => {
let canvasElem = document.createElement('canvas')
canvasElem.width = svgData.size.width;
canvasElem.height = svgData.size.height;
canvg(canvasElem, svgData.svgAsText, {
// ignoreClear: true,
// ignoreDimensions: true,
// scaleWidth: canvasElem.width ,
// scaleHeight: canvasElem.height ,
// forceRedraw: () => true
});
let imgData = canvasElem.toDataURL("image/jpeg", 1);
doc.addImage(imgData, 'PNG',
(svgData.size.left - paperData.containerOffsetX) * pixelToMMFactor,
(svgData.size.top - paperData.containerOffsetY) * pixelToMMFactor,
svgData.size.width * pixelToMMFactor,
svgData.size.height * pixelToMMFactor
);
}
downloadImage() {
console.log('-- downloadImage --');
let svgText = ReactDOM.findDOMNode(this.svgDom).childNodes[0].outerHTML;
canvg('canvas', svgText);
let buffer = canvasBuffer(canvas, 'image/png');
let imageName = path.join(downloadsFolder(), '/image.png');
fs.writeFile(imageName, buffer, () => {
console.log(imageName);
this.setState({
infoText: `Download file: ${imageName} successful.`
});
});
}
var style = createStyleElement(res);
var div = document.createElement('div');
chart.fire('beforeExportSVGNode');
var svg = chart.getSVG().cloneNode(true);
chart.fire('afterExportSVGNode');
div.appendChild(fixSVGForCanvgCompatibility(svg));
d3.select(svg)
.attr('version', 1.1)
.attr('xmlns', 'http://www.w3.org/2000/svg');
svg.insertBefore(style, svg.firstChild);
this._renderAdditionalInfo(svg, chart);
this._addBackground(svg, this._backgroundColor);
var canvas = document.createElement('canvas');
canvas.height = svg.getAttribute('height');
canvas.width = svg.getAttribute('width');
canvg(
canvas,
svg.parentNode.innerHTML,
{
renderCallback: function (dom) {
var domStr = (new XMLSerializer()).serializeToString(dom);
var isError = (domStr.substring(0, 5).toLowerCase() === '
snipGraph($event) {
const chart = this.getChartById(this.chartId);
const svgString = chart.getSVG();
const hiddenCanvas = document.getElementById(this.hiddenCanvasId);
canvg(hiddenCanvas, svgString, { renderCallback: () => {
const base64Image = hiddenCanvas.toDataURL('image/png');
const imageObject = this.UtilService.getImageObjectFromBase64String(base64Image);
this.NotebookService.addNote($event, imageObject);
}
});
}
snipGraph($event) {
const chart = $('#' + this.chartId).highcharts();
const svgString = chart.getSVG();
const hiddenCanvas = document.getElementById(this.hiddenCanvasId);
canvg(hiddenCanvas, svgString, { renderCallback: () => {
const base64Image = hiddenCanvas.toDataURL('image/png');
const imageObject = this.UtilService.getImageObjectFromBase64String(base64Image);
this.NotebookService.addNote($event, imageObject);
}
});
}
arr.forEach((d, i) => {
let htmlString = ReactDOMServer.renderToStaticMarkup(
);
canvg(canv, htmlString);
d.icon = canv.toDataURL("image/png");
});
this.setState({});
svgElem.each((index, node) => {
let parentNode = node.parentNode
let svg = node.outerHTML.trim()
let canvas = document.createElement('canvas')
canvg(canvas, svg)
if (node.style.position) {
canvas.style.position += node.style.position
canvas.style.left += node.style.left
canvas.style.top += node.style.top
}
nodesToRecover.push({
parent: parentNode,
child: node
})
parentNode.removeChild(node)
nodesToRemove.push({
parent: parentNode,
child: canvas
})
parentNode.appendChild(canvas)
})