var tintCanvas = document.createElement('canvas'); tintCanvas.width = 20; tintCanvas.height = 20; var tintCtx = tintCanvas.getContext('2d');
var renderCanvas = document.createElement('canvas'); renderCanvas.width = 20; renderCanvas.height = 20; var renderCtx = tintCanvas.getContext('2d');
var canvas = document.getElementById('canvasA'); var ctx = canvas.getContext('2d');
var pic = new Image(); pic.onload = function () { tintCtx.fillStyle = '#ff3633'; tintCtx.fillRect(x,y,20,20); tintCtx.globalCompositeOperation = "destination-atop"; tintCtx.drawImage(pic, x, y);
renderCtx.drawImage(pic, x, y); renderCtx.globalAlpha = 0.5; renderCtx.drawImage(tintCanvas, x, y); } pic.src = 'http://jsfiddle.net/img/logo.png'; var x = 0; var y = 0;
var red = new Image(); red.src = renderCanvas.toDataURL();
ctx.drawImage(red, 22,22);
câu trả lời hay nhất
您可以创建每种所需的颜色一次,然后将其存储为图像以供重复使用。
// create an image from the canvas and push the image into an array for reuse var img=new Image(); img.src=canvas.toDataURL(); myColoredImages.push(img);
var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); var canvas2 = document.getElementById('canvas2'); var ctx2 = canvas2.getContext('2d');
Tôi là một lập trình viên xuất sắc, rất giỏi!