您的位置:首页 > 编程语言 > C#

C#图片处理之:Gamma校正

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

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




/**//// <summary>


/// Gamma校正


/// </summary>


/// <param name="bmp">输入Bitmap</param>


/// <param name="val">[0 <-明- 1 -暗-> 2]</param>


/// <returns>输出Bitmap</returns>


public static Bitmap KiGamma(Bitmap bmp, float val)




...{


if (bmp == null)




...{


return null;


}




// 1表示无变化,就不做


if (val == 1.0000f) return 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(0, 0, bmp.Width, bmp.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, attr);


g.Dispose();


return b;


}


catch




...{


return null;


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: