好久没写文章了。今天发一个图片产生阴影,以及外发光的。跟大家讨论一下算法。
先看个效果图。
这是Png透明图片的阴影效果。
再看看发光效果:
其实图片发光和阴影的效果是差不多的,都是同样的东西,只是调整阴影的颜色而已。
最后看一下Jpg等不透明图片的效果
jpg图片没有透明色,所以只能出现矩形的阴影了。
好了,现在进入正题,说一下大概的算法。
看起来好像很炫很神奇,其实还是很简单的。
其实就是对透明图片做单色的投影。然后对投影的alpha通道做高斯模糊,最后把模糊的图片放到原图后面就行了。
由于高斯模糊的计算量非常大,所以对大图做的时候,会非常慢。
比如我的程序,对1280*1024的图片做阴影,需要5s左右的时间,还不具备实时性。
抛砖引玉,看看大家有什么更好的办法没有。