ControlPaint.Light 将橙色更改为洋红色

Mat*_*att 2 .net rgb

我想做一些颜色的浅色版本。但橙色(和其他颜色)给我带来了问题。当我使用 System.Windows.Forms.ControlPaint.Light 50% 时,它会将颜色更改为洋红色。

Color color1 = Color.Orange;
Color color2 = ControlPaint.Light(color1, 50f);
Run Code Online (Sandbox Code Playgroud)

结果是 ffff5ee7,{颜色 [A=255,R=255,G=94,B=231]},即洋红色。

如何使用 ControlPaint.Light 实际创建浅橙色而不是洋红色?

(这种情况也发生在我正在变亮的其他一些颜色上,并且我没有使用命名颜色,而是使用 ARGB 值。我在这里使用命名颜色作为示例。)

谢谢

Mar*_*all 5

我相信你的问题在于你使用的50f是 Percentage 而不是.5f。文档没有说明,但根据此MSDN 论坛帖子, 您应该使用 0 到 1 作为您的值。