<canvas id="canvas" width="620" height="150"></canvas>
<canvas id="canvas2" width="620" height="150"></canvas>
<canvas id="vmlcanvas" class="vml" width="620" height="150"></canvas>
function boot() {
draw(document.getElementById('canvas').getContext('2d'));
draw(document.getElementById('canvas2').getContext('2d'), 1);
draw(document.getElementById('vmlcanvas').getContext('2d'));
}
function draw(ctx, disableShadowBlurAPI) {
if (disableShadowBlurAPI) {
ctx.xShadowBlur = 0; // Old Silverlight(ver1, ver2) rendering simulate
}
// create new image object to use as pattern
var img = new Image();
img.onload = function(){
// create pattern
var ptrn = ctx.createPattern(img,'repeat');
ctx.textBaseline = "top";
ctx.font = "36pt Arial";
ctx.fillStyle = ptrn;
ctx.strokeStyle = ptrn;
ctx.xMissColor = "skyblue";
var text = setShadow(ctx, 4, 10, 10, "black");
ctx.fillText("fillText: " + text, 20, 20);
ctx.strokeText("strokeText: " + text, 20, 80);
}
img.src = 'images/sky.jpg?' + (new Date).getTime();
}
function setShadow(ctx, blur, ox, oy, color) {
ctx.setShadow(color, ox, oy, blur);
return [color, ox, oy, blur].join(", ");
}