程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#圖片處理之Gamma校正

C#圖片處理之Gamma校正

編輯:關於C#

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    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved