解决方案 »

  1.   

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

  2.   

    我是想通过调节3个分别代表红绿蓝的hscrollbar来调整图像,我想知道hscrollbar事件怎么写,大神能指导下吗