【问题标题】:Pass color name as string in SharpDX.Color在 SharpDX.Color 中将颜色名称作为字符串传递
【发布时间】:2012-10-12 11:08:51
【问题描述】:
我得到一个颜色名称作为字符串(如“黑色”)。必须为我的 Metro 应用程序将该颜色名称转换为 SharpDX.Color。现在尝试以下方式,
1)SharpDX.Color.FromRgba(int or uint value of color)
2)SharpDX.Color.FromArgb(int or uint value of color)
这样可以吗?或任何其他最好的方法来做到这一点。??
【问题讨论】:
标签:
colors
microsoft-metro
sharpdx
【解决方案1】:
使用 Enum Parse 和 System.Drawing 会有所帮助,虽然不是很好,但会起作用:
KnownColor colorenum = (KnownColor)Enum.Parse(typeof(KnownColor),"Black");
Color4 bgcolor = new Color4(Color.FromKnownColor(colorenum).ToArgb());
否则,您可以使用字符串作为键和 SharpDX.Color4 作为值来构建自定义字典,并创建自己的颜色列表。