【发布时间】:2016-12-29 01:03:20
【问题描述】:
这是一个演示:
var ctx = document.getElementById("test").getContext("2d");
ctx.shadowColor = "black";
ctx.fillStyle = "white";
ctx.shadowBlur = 10;
ctx.fillRect(10, 10, 10, 10);
ctx.shadowBlur = 50;
ctx.fillRect(70, 10, 10, 10);
ctx.fillRect(70, 70, 70, 70);
<canvas id="test" width="200" height="200"></canvas>
如果我设置shadowBlur=10,然后绘制一个 10x10 的小正方形,我会得到一个漂亮、强烈的阴影。如果我设置 shadowBlur=50 并绘制一个 70x70 的大正方形,则相同。但是,如果我设置shadowBlur=50,然后绘制一个 10x10 的小方块,我会得到一个非常微弱、几乎看不到的阴影。
相反,我会期待一个小的中心正方形和一个大的黑色阴影。
显然我误解了阴影模糊的工作原理,所以 - 它是如何工作的,以及如何在一个小物体周围获得一个大的暗阴影?
【问题讨论】:
标签: html canvas html5-canvas shadow blur