图像光照效果就是在图像中添加上一个太阳光源,以此模仿光照条件。主要算法包括:1光源选择;2光照像素值求取。php
1,光源选择。咱们假设光源位置坐标为S(X,Y),其中光源坐标必定要保证在图像大小范围内。有了光源位置,咱们就能够来构建一个圆形区域模拟光照了。咱们设定光源半径为R,那么,光照范围就是以S(X,Y)为圆心,以R为半径的圆了。css
根据光源特性,在图像中表现为中间靠近圆心最亮,亮度延半径方向向四周逐渐减弱。所以,咱们根据光源圆形的范围内像素距离圆心的欧几里得距离来构建线性变换的公式,假设欧几里得距离为D,变换后的像素值为f,则公式以下:html
2,光照像素值求取。对于光源范围内的像素,光照效果值是原像素值和光照值的叠加,咱们按以下公式计算:算法
注意,若是光照效果值P超出了[0,255]范围,那么咱们将其修正到光照范围便可。spa
下面是咱们的效果图:.net
原图 htm
光照效果图blog
最后,放上一个完整的C#程序Demo下载连接:http://www.zealpixel.com/forum.php?mod=viewthread&tid=50&page=1&extra=#pid51get