Probablemente el problema es este, al menos en parte:
Cita: Why aren't my images rendered?
html2canvas does not get around content policy restrictions set by your browser. Drawing images that reside outside of the origin of the current page taint the canvas that they are drawn upon. If the canvas gets tainted, it cannot be read anymore. As such, html2canvas implements methods to check whether an image would taint the canvas before applying it. If you have set the allowTaint option to false, it will not draw the image.
If you wish to load images that reside outside of your pages origin, you can use a proxy to load the images.
https://html2canvas.hertzen.com/faq.html
Saludos.