Last active
January 19, 2022 11:35
-
-
Save Eniwder/6fb8646afca911db6fc0a2723efdf8a4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (function(){ | |
| const svg = document.querySelector('svg'); | |
| const svgData = new XMLSerializer().serializeToString(svg); | |
| const canvas = document.createElement('canvas'); | |
| canvas.width = svg.width.baseVal.value; | |
| canvas.height = svg.height.baseVal.value; | |
| const ctx = canvas.getContext('2d'); | |
| const image = new Image; | |
| image.onload = function(){ | |
| ctx.drawImage(image, 0, 0); | |
| canvas.toBlob(blob => navigator.clipboard.write([new ClipboardItem({'image/png': blob})])) | |
| } | |
| image.src = "data:image/svg+xml;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(svgData))); | |
| })() |
Eniwder
commented
Jan 19, 2022
Author
Author
// ボタン追加version
(function(){
const svg = document.querySelector('svg');
const svgData = new XMLSerializer().serializeToString(svg);
const canvas = document.createElement('canvas');
canvas.width = svg.width.baseVal.value;
canvas.height = svg.height.baseVal.value;
const ctx = canvas.getContext('2d');
const image = new Image;
image.onload = function(){
ctx.drawImage(image, 0, 0);
canvas.toBlob(blob => navigator.clipboard.write([new ClipboardItem({'image/png': blob})]))
}
const button = document.createElement('button');
button.innerText = 'Copy';
button.style.cssText = 'border: 2px solid green; color: greenyellow; background-color: black;';
button.addEventListener('click',() => image.src = "data:image/svg+xml;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(svgData))));
const parent = document.querySelector('svg').parentNode;
parent.appendChild(button);
})();
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment