http://lab.abhinayrathore.com/img2canvas/img2canvas.php
Puedes usar esta página. Aunque yo veo el código demasiado redundante y repetitivo.
Estoy intentando hacer una función para pasar ese código a funciones moveTo y lineTo etc, porque verás que es un script demasiado extenso.
Usa demasiado fillRect cuando un código:
dx.fillStyle="rgba(1,52,103,1)";
dx.moveTo(3,0);
dx.lineTo(97,0);
dx.stroke();
te quitaría muchas de esas fillRect...
Si puedo y tengo tiempo haré esa función.