如何向 UI 元素添加颜色效果?
例如,它应该看起来更黄,所以像素有更黄的颜色。 我需要做的就是让我的黑色表单在处于非事件状态时有点白。
最佳答案
我最近需要一种渐变效果,可以从指定颜色变为该颜色的较浅版本。我遇到了这个 post效果很好。
这里是作为扩展方法的代码
public static Color Interpolate(this Color color1, Color color2, float percentage)
{
double a1 = color1.A / 255.0, r1 = color1.R / 255.0, g1 = color1.G / 255.0, b1 = color1.B / 255.0;
double a2 = color2.A / 255.0, r2 = color2.R / 255.0, g2 = color2.G / 255.0, b2 = color2.B / 255.0;
byte a3 = Convert.ToByte((a1 + (a2 - a1) * percentage) * 255);
byte r3 = Convert.ToByte((r1 + (r2 - r1) * percentage) * 255);
byte g3 = Convert.ToByte((g1 + (g2 - g1) * percentage) * 255);
byte b3 = Convert.ToByte((b1 + (b2 - b1) * percentage) * 255);
return Color.FromArgb(a3, r3, g3, b3);
}
在我的例子中,我混合了 50% 的白色
BackgroundColor.Interpolate(Colors.White, .5f);
关于UI 元素的 WPF 颜色效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17649246/