JSFiddle - React, Tailwind, and code Playground

by bakhshi

HTML

<form action="" class="test" style="width:100px;height:100px">
    <button>this is button</button>
    <button>cancel</button>
    <div class="test"></div>
</form>
<canvas id="canvas" style="border:2px solid black;" width="200" height="200">
</canvas>

CSS

div.test{
    border: solid 10px blue;
}

JavaScript

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

var data = '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">' +
           '<foreignObject width="100%" height="100%">' +
		   '<div xmlns="http://www.w3.org/1999/xhtml" style="font-size:40px">' +
           document.querySelector('form.test').outerHTML+
    
           '</div></foreignObject>' +
           '</svg>';

console.log(data);

var DOMURL = window.URL || window.webkitURL || window;

var img = new Image();
var svg = new Blob([data], {type: 'image/svg+xml;charset=utf-8'});
var url = DOMURL.createObjectURL(svg);

img.onload = function () {
    console.log('loaded');
  ctx.drawImage(img, 0, 0);
  //DOMURL.revokeObjectURL(url);
}

img.src = url;
document.body.appendChild(img);