C#图片处理之:Gamma校正

    技术2022-05-11  15

    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.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;            }        }

    最新回复(0)