本文整理汇总了C#中Color.ToHsv方法的典型用法代码示例。如果您正苦于以下问题:C# Color.ToHsv方法的具体用法?C# Color.ToHsv怎么用?C# Color.ToHsv使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Color
的用法示例。
在下文中一共展示了Color.ToHsv方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetS
public static void SetS(ref Color color, double s)
{
double h, dummy, v;
color.ToHsv(out h, out dummy, out v);
Color temp = FromHsv(h, s, v);
color.R = temp.R;
color.G = temp.G;
color.B = temp.B;
}
示例2: SetV
public static void SetV(ref Color color, double v)
{
double h, s, dummy;
color.ToHsv(out h, out s, out dummy);
Color temp = FromHsv(h, s, v);
color.R = temp.R;
color.G = temp.G;
color.B = temp.B;
}
示例3: GetAccentResource
private static ResourceDictionary GetAccentResource(Color color)
{
// Windows のテーマがアルファ チャネル 255 以外の色を返してくるけど、
// HSV で Active と Highlight 用の色を作る過程で結局失われるので、
// アルファ チャネルは 255 しかサポートしないようにしてしまおう感。
color.A = 255;
var hsv = color.ToHsv();
var dark = hsv;
var light = hsv;
dark.V *= 0.8;
light.S *= 0.6;
var activeColor = dark.ToRgb();
var highlightColor = light.ToRgb();
var luminocity = Luminosity.FromRgb(color);
var foreground = luminocity < 128 ? Colors.White : Colors.Black;
var dic = new ResourceDictionary
{
["AccentColorKey"] = color,
["AccentBrushKey"] = new SolidColorBrush(color),
["AccentActiveColorKey"] = activeColor,
["AccentActiveBrushKey"] = new SolidColorBrush(activeColor),
["AccentHighlightColorKey"] = highlightColor,
["AccentHighlightBrushKey"] = new SolidColorBrush(highlightColor),
["AccentForegroundColorKey"] = foreground,
["AccentForegroundBrushKey"] = new SolidColorBrush(foreground),
};
return dic;
}