Arhitector,
мысли вслух ...
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<canvas id="canvas" width="600" height="400" style="border:1px solid #d3d3d3;"></canvas>
<script>
var img = new Image;
img.src = "https://mdn.mozillademos.org/files/5397/rhino.jpg";
img.onload = function() {
draw(this);
};
function draw(img) {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "black";
ctx.fillRect(0, 0, 600, 400);
function move(event) {
ctx.drawImage(img, 0, 0, 600, 400);
var x = event.layerX;
var y = event.layerY;
var grd = ctx.createRadialGradient(x, y, 5, x, y, 100);
grd.addColorStop(0, "transparent");
grd.addColorStop(1, "black");
ctx.fillStyle = grd;
ctx.fillRect(0, 0, 600, 400);
}
canvas.addEventListener("mousemove", move);
};
</script>
</body>
</html>