У меня есть маленький пример здесь: https://jsfiddle.net/pets87/abdyer7r/2/HTML5 Canvas - вырезание заполнены области с инсультом
function drawImagesToCanvas() {
var innerRadius = 15;
var outerRadius = 140;
var radius = outerRadius;
var gX = 100;
var gY = 100;
var gradient = context.createRadialGradient(gX, gY, innerRadius, gX, gY, outerRadius);
gradient.addColorStop(0, 'transparent');
gradient.addColorStop(0.01, 'white');
gradient.addColorStop(0.1, 'yellow');
gradient.addColorStop(1, 'transparent');
context.beginPath();
context.arc(gX, gY, radius, 0, 2 * Math.PI);
context.fillStyle = gradient;
context.fill();
}
drawImagesToCanvas();
function drawline(){
context.beginPath();
context.moveTo(180, 10);
context.lineWidth = 2;
context.lineTo(180, 200);
context.stroke();
}
drawline();
У меня есть яркая лампочка, как показан на картинке. Тогда я хочу нарисовать удар. Инсульт подобен стене. Я хочу, чтобы удар вырезал свет, идущий от лампочки.
Есть ли способ сделать это?
Вот [альтернативное решение] (https://jsfiddle.net/m1erickson/d35xwwkz/), который использует композитинга держать лампочку от показа через стены. – markE