html5画布的上下文具有以下与设置阴影相关的属性:
shadowOffsetX = float
shadowOffsetY = float
shadowBlur = float
shadowColor = color
它们都没有设置阴影的宽度。用canvas设置宽度是完全可能的吗?
shadowBlur似乎确实增加了宽度,但模糊变得更加不透明。
发布于 2013-01-04 20:21:45
较高的shadowBlur 值确实会增加阴影的宽度,但不幸的是,它也会降低强度,因此非常高的值会创建几乎不可见的模糊。
增加阴影强度的唯一方法是多次绘制对象。然而,当对象本身是alpha透明的并且也可能是性能挂钩时,这可能会导致不希望的结果,因为已经相当昂贵的模糊效果必须在每一次传递中重新计算。通过将具有模糊效果的对象绘制到单独的不可见画布,然后多次将此画布绘制到真正的画布,可以稍微降低性能成本。不幸的是,这仍然是一个肮脏的技巧。
当您想要创建真正奇特的图形效果时,您应该考虑使用WebGL。学习曲线是相当陡峭的,但当你掌握了它的诀窍,你就拥有了OpenGL着色语言的全部功能(好吧,不是全部功能-仅1.00版本-但这已经足够在用户GPU上直接计算出许多漂亮的图形效果了)。
发布于 2015-06-24 10:28:25
试试这个:
将对象绘制到画布,增加线宽,将对象重新绘制到下面的不同画布,在下面的画布上设置CSS3模糊效果。
在我用路径作画的时候对我很有效。
https://stackoverflow.com/questions/14164003
复制