我们可以通过新的HTML5画布(Canvas)标签添加一个画布到网页中,以下代码用于定义一个 800 x 600 大小的画布。
再通过以下 JavaScript 代码控制在画布中的绘图。
// 通过ID取画布元素 var mc = document.getElementById("MyCanvas"); var ctx = null; var grad = null; var color = 255; if(mc.getContext) { // 创建 context 对象 ctx = mc.getContext("2d"); // 鼠标移动事件 mc.addEventListener('mousemove', ev_mousemove, false); } // 在画布上移动鼠标 function ev_mousemove(ev) { // 画布大小 var width = mc.width; var height = mc.height; // 鼠标位置 var mx; var my; if (ev.layerX || ev.layerX == 0) { // 在Firefox中取鼠标坐标 mx = ev.layerX-mc.offsetLeft; my = ev.layerY-mc.offsetTop; } else if (ev.offsetX || ev.offsetX == 0) { // 在Opera中取鼠标坐标 mx = ev.offsetX; my = ev.offsetY; } // 计算颜色 var xc = ~~(256 * mx / width); var yc = ~~(256 * my / height); // 先清画布 ctx.clearRect(0, 0, 800, 600); // 保存画布状态 ctx.save(); // 创建径向渐变 grad = ctx.createRadialGradient(mx, my, 0, mx, my, 600); grad.addColorStop(0, '#000'); grad.addColorStop(1, ['rgb(', xc, ', ', (255 - xc), ', ', yc, ')'].join('')); // 设置渐变填充色 ctx.fillStyle = grad; // 填充画布 ctx.fillRect(0, 0, 800, 600); }