C#图片处理之:Gamma校正

gamma值是用曲线表示的,这是一种人的眼睛对光的一种感应曲线,其中包括了物理量、身理感官及心理的感知度。  -- 摘自百度知道
 

用C#做Gamma校正的操作也很简单。

         /// 
        
/// Gamma校正
        
/// 

        
/// 输入Bitmap
        
/// [0 <-明- 1 -暗-> 2]
        
/// 输出Bitmap

         public   static  Bitmap KiGamma(Bitmap bmp,  float  val)
        
{
            
if (bmp == null)
            
{
                
return null;
            }


            
// 1表示无变化,就不做
            if (val == 1.0000freturn bmp;

            
try
            
{
                Bitmap b 
= new Bitmap(bmp.Width, bmp.Height);
                Graphics g 
= Graphics.FromImage(b);
                ImageAttributes attr 
= new ImageAttributes();

                attr.SetGamma(val, ColorAdjustType.Bitmap);
                g.DrawImage(bmp, 
new Rectangle(00, bmp.Width, bmp.Height), 00, bmp.Width, bmp.Height, GraphicsUnit.Pixel, attr);
                g.Dispose();
                
return b;
            }

            
catch
            
{
                
return null;
            }

        }

你可能感兴趣的:(C#,-,图片处理)