<!doctype html>
<style>
svg {
display: none;
}
canvas {
border: 1px solid black;
}
</style>
<svg id="s1" width="200px" height="20px">
<image id="img1" href="resources/pattern.png" x="0" y="0" width="20px" height="20px" />
<image id="img2" href="resources/pattern.png" x="20" y="0" width="40px" height="40px" />
<image id="img3" href="resources/pattern.png" x="40" y="0" width="40px" height="40px" />
<image id="img4" href="invalid" x="60" y="0" width="20px" height="20px" />
<image id="img5" x="80" y="0" width="20px" height="20px" />
<image id="img6" href="resources/rect.svg" x="100" y="0" width="20px" height="20px" />
<image id="img7" href="resources/empty.svg" x="120" y="0" width="20px" height="20px" />
<image id="img8" href="resources/zeroSize.svg" x="140" y="0" width="20px" height="20px" />
</svg>
<canvas id="c1" width="20" height="20"></canvas>
<canvas id="c2" width="20" height="20"></canvas>
<canvas id="c3" width="20" height="20"></canvas>
<canvas id="c4" width="20" height="20"></canvas>
<canvas id="c5" width="20" height="20"></canvas>
<canvas id="c6" width="20" height="20"></canvas>
<canvas id="c7" width="20" height="20"></canvas>
<canvas id="c8" width="20" height="20"></canvas>
<script>
var draw = function(target, img, x, y) {
try {
document.getElementById(target).getContext("2d").drawImage(
document.getElementById(img), x || 0, y || 0);
}
catch (e) {}
};
window.onload = () => {
draw("c1", "img1");
draw("c2", "img2", 10, 10);
draw("c3", "img3");
draw("c4", "img4");
document.getElementById("img5").href="resources/pattern.png";
draw("c5", "img5"); // img5 in unloaded state.
draw("c6", "img6");
draw("c7", "img7");
draw("c8", "img8");
}
</script>