0
点赞
收藏
分享

微信扫一扫

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

斗米 2023-02-28 阅读 66

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 条评论