VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#教程 >
  • c#图片处理之Gamma校正

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

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

1    /// <summary>
2    /// Gamma校正
3    /// </summary>
4    /// <param name="bmp">输入Bitmap</param>
5    /// <param name="val">[0 <-明- 1 -暗-> 2]</param>
6    /// <returns>输出Bitmap</returns>
7    public static Bitmap KiGamma(Bitmap bmp, float val)
8    {
9      if (bmp == null)
10      {
11        return null;
12      }
13
14      // 1表示无变化,就不做
15      if (val == 1.0000f) return bmp;
16
17      try
18      {
19         Bitmap b = new Bitmap(bmp.Width, bmp.Height);
20        Graphics g = Graphics.FromImage(b);
21        ImageAttributes attr = new ImageAttributes();
22
23        attr.SetGamma(val, ColorAdjustType.Bitmap);
24        g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, attr);
25        g.Dispose();
26        return b;
27      }
28      catch
29      {
30        return null;
31      }
32    }



相关教程