PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.2
Independent Analytics – WordPress Analytics Plugin v2.14.2
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / javascript-source / utils / svg-to-png.js
independent-analytics / javascript-source / utils Last commit date
appearance.js 1 year ago svg-to-png.js 9 months ago
svg-to-png.js
33 lines
1 async function svgToPng(svgElement) {
2 // 1. Get SVG data
3 const svgData = new XMLSerializer().serializeToString(svgElement);
4 const svgBlob = new Blob([svgData], { type: 'image/svg+xml;charset=utf-8' });
5 const url = URL.createObjectURL(svgBlob);
6
7 // 2. Load SVG into image (wrapped in promise)
8 const img = await new Promise((resolve, reject) => {
9 const image = new Image();
10 image.onload = () => resolve(image);
11 image.onerror = reject;
12 image.src = url;
13 });
14
15 // 3. Create canvas and draw
16 const canvas = document.createElement('canvas');
17 canvas.width = svgElement.width.baseVal.value || svgElement.getBoundingClientRect().width;
18 canvas.height = svgElement.height.baseVal.value || svgElement.getBoundingClientRect().height;
19
20 const ctx = canvas.getContext('2d');
21 ctx.drawImage(img, 0, 0);
22
23 URL.revokeObjectURL(url);
24
25 // 4. Create PNG image element
26 const pngImage = new Image();
27 pngImage.src = canvas.toDataURL('image/png');
28
29 return pngImage;
30 }
31
32 module.exports = { svgToPng }
33