var
canvas = document.querySelector(
'canvas'
);
var
context = canvas.getContext(
'2d'
);
var
width = canvas.width, height = canvas.height;
context.textBaseline =
'middle'
;
context.font =
'bold 60px "Microsoft Yahei"'
;
var
draw =
function
() {
context.clearRect(0, 0, width, height);
var
gradient, pattern;
var
canvasPattern = document.createElement(
'canvas'
);
var
contextUnder = canvasPattern.getContext(
'2d'
);
canvasPattern.width = width;
canvasPattern.height = height;
var
canvasGradient = document.createElement(
'canvas'
);
var
contextOver = canvasGradient.getContext(
'2d'
);
canvasGradient.width = width;
canvasGradient.height = height;
gradient = contextOver.createLinearGradient(0, 0, 0, height);
gradient.addColorStop(0, red);
gradient.addColorStop(1, red);
pattern = contextUnder.createPattern(img,
'no-repeat'
);
contextUnder.fillStyle = pattern;
contextUnder.fillRect(0, 0, width, height);
contextOver.fillStyle = gradient;
contextOver.fillRect(0, 0, width, height);
contextOver.blendOnto(contextUnder,
'overlay'
);
pattern = context.createPattern(canvasPattern,
'no-repeat'
);
context.fillStyle = pattern;
context.fillText(
'画布纹理叠加'
, 0, 60);
};