C 改变颜色的深浅 加深或变浅已知颜色

               

       public static Color ChangeColor(Color color, float correctionFactor)
        {
            float red = (float)color.R;
            float green = (float)color.G;
            float blue = (float)color.B;

            if (correctionFactor < 0)
            {
                correctionFactor = 1 + correctionFactor;
                red *= correctionFactor;
                green *= correctionFactor;
                blue *= correctionFactor;
            }
            else
            {
                red = (255 - red) * correctionFactor + red;
                green = (255 - green) * correctionFactor + green;
                blue = (255 - blue) * correctionFactor + blue;
            }

            if(red<0) red=0;

            if(red>255) red=255;

            if(green<0) green=0;

            if(green>255) green=255;

            if(blue<0) blue=0;

            if(blue>255) blue=255;

 

            return Color.FromArgb(color.A, (int)red, (int)green, (int)blue);
        }

加深:correctionFactor<0

变亮:correctionFactor>0

-1.0f <= correctionFactor <= 1.0f


附KnownColor中颜色较深的列表:

Color[] _multicolors = new Color[]{
            Color.Black,Color.Blue,Color.BlueViolet,Color.Brown,Color.Chartreuse,Color.Chocolate,
            Color.Crimson,Color.DarkBlue,Color.DarkCyan,Color.DarkGoldenrod,Color.DarkGreen,Color.DarkMagenta,
            Color.DarkOliveGreen,Color.DarkOrange,Color.DarkOrchid,Color.DarkRed,Color.DarkSlateBlue,Color.DarkSlateGray,
            Color.DarkTurquoise,Color.DarkViolet,Color.DeepPink,Color.DeepSkyBlue,Color.DimGray,Color.DodgerBlue,
            Color.Firebrick,Color.ForestGreen,Color.Fuchsia,Color.Gold,Color.Goldenrod,Color.Gray,Color.Green,
            Color.GreenYellow,Color.HotPink,Color.IndianRed,Color.Indigo,Color.LawnGreen,Color.LightCoral,
            Color.LightSlateGray,Color.Lime,Color.LimeGreen,Color.Magenta,Color.Maroon,Color.MediumBlue,
            Color.MediumOrchid,Color.MediumPurple,Color.MediumSlateBlue,Color.MediumSpringGreen,Color.MediumTurquoise,
            Color.MediumVioletRed,Color.MidnightBlue,Color.Navy,Color.Olive,Color.OliveDrab,Color.Orange,Color.OrangeRed,
            Color.Orchid,Color.Peru,Color.Plum,Color.Purple,Color.Red,Color.RosyBrown,Color.RoyalBlue,Color.SaddleBrown,
            Color.Salmon,Color.SandyBrown,Color.SeaGreen,Color.Sienna,Color.Silver,Color.SkyBlue,Color.SlateBlue,
            Color.SlateGray,Color.SpringGreen,Color.SteelBlue,Color.Teal,Color.Tomato,Color.Yellow,Color.YellowGreen
        };

           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值