圖像光照效果就是在圖像中添加上一個太陽光源,以此模仿光照條件。主要算法包括: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