Esempio n. 1
0
        /// <summary>
        /// 设置屏幕亮度
        /// </summary>
        /// <param name="handle"></param>
        /// <param name="brightness"></param>
        /// <returns></returns>
        public bool SetBrightness(IntPtr handle, short brightness)
        {
            handle = Graphics.FromHwnd(IntPtr.Zero).GetHdc();
            double value = (double)brightness / 100;
            Ramp   ramp  = default(Ramp);

            ramp.Red   = new ushort[256];
            ramp.Green = new ushort[256];
            ramp.Blue  = new ushort[256];

            for (int i = 1; i < 256; i++)
            {
                var tmp = (ushort)(i * 255 * value);
                ramp.Red[i] = ramp.Green[i] = ramp.Blue[i] = Math.Max(ushort.MinValue, Math.Min(ushort.MaxValue, tmp));
            }

            var deviceGammaRamp = SetDeviceGammaRamp(handle, ref ramp);

            return(deviceGammaRamp);
        }
Esempio n. 2
0
 private double CalAllGammaVal(Ramp ramp)
 {
     return(Math.Round(((CalColorGammaVal(ramp.Blue) + CalColorGammaVal(ramp.Red) +
                         CalColorGammaVal(ramp.Green)) / 3), 2));
 }
Esempio n. 3
0
 public static extern bool SetDeviceGammaRamp(IntPtr hDc, ref Ramp lpRamp);