gpt4 book ai didi

c# - 将 Color 转换为像 #XXXXXX 这样的字符串到 System.Windows.Media.Brush 的最简单方法

转载 作者:可可西里 更新时间:2023-11-01 08:15:08 28 4
gpt4 key购买 nike

我觉得标题很清楚!

我现在拥有的是:

System.Drawing.Color uiui = System.Drawing.ColorTranslator.FromHtml(myString);
var intColor = (uint)((uiui.A << 24) | (uiui.R << 16) | (uiui.G << 8) | (uiui.B << 0));
var bytes = BitConverter.GetBytes(uint.Parse(value));
var brush = new SolidColorBrush();
brush.Color = Color.FromArgb(bytes[3], bytes[2], bytes[1], bytes[0]);

1- myString 就像我在标题中所说的#FFFFFF

2- 这在 BitConverter.GetBytes 行上失败了,这让我感到惊讶,因为我在 Color 上得到了 int 表示!

3- 无论如何,我知道颜色转换不是那么直观,但我觉得我做的不对...这是好方法吗?

最佳答案

您可以使用 System.Windows.Media.ColorConverter

var color = (Color)ColorConverter.ConvertFromString("#FF010203");
//OR
var color = (Color)ColorConverter.ConvertFromString("#010203");
//OR
var color = (Color)ColorConverter.ConvertFromString("Red");

//and then:
var brush = new SolidColorBrush(color);

它在接受什么方面非常灵活。看看 examples in XAML here .您可以传入任何这些字符串格式。

注意:这些都在 System.Windows.Media(对于 WPF)中,不要与 System.Drawing(对于 WinForms)混淆

关于c# - 将 Color 转换为像 #XXXXXX 这样的字符串到 System.Windows.Media.Brush 的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178799/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com