如何制作新颜色?
Posted
技术标签:
【中文标题】如何制作新颜色?【英文标题】:How can I make a new color? 【发布时间】:2012-11-20 03:40:05 【问题描述】:我有一个 C# 表单,我想在 3 个TextBox
控件中输入红色、绿色和蓝色并制作新颜色。例如:红色=3,绿色=2,蓝色=5
当我点击“MAKE COLOR”按钮时,标签会显示新颜色。
【问题讨论】:
【参考方案1】:让我们假设您有一些类似于此的代码:
int red = Convert.ToInt32(RedColorComponentValueTextBox.Text);
int green = Convert.ToInt32(GreenColorComponentValueTextBox.Text);
int blue = Convert.ToInt32(BlueColorComponentValueTextBox.Text);
//Don't forget to try/catch this
然后从这些值创建颜色,尝试
Color c = Color.FromArgb(red, green, blue);
然后将标签的ForeColor
属性(或BackColor
属性--不确定您要更改哪个属性)设置为c
。
你需要有
using System.Drawing;
在您的代码文件(或类)序言中。
注意:如果你还想拥有一个 alpha 组件,你可以试试这个:
Color c = Color.FromArgb(alpha, red, green, blue);
一般提示:如果您想使用#RRGGBB
形式的 html/CSS 颜色规范,例如#335577
,试试这个模式
int red = 0x33, green = 0x55, blue = 0x77;
【讨论】:
当颜色为#f0f0f0 时呢?【参考方案2】:使用FromRgb 创建自定义颜色:
Color myRgbColor = new Color();
myRgbColor = Color.FromRgb(3, 2, 5);
【讨论】:
@miltiadis:它说:不能“红色”它不会在当前上下文中退出 FromRgb 方法来自程序集 PresentationCore.dll 的命名空间 System.Windows.Media 中的 Color 类,您可以将其添加到项目的引用中。但是此 Color 类与 System.Drawing 中的 Color 类发生冲突,并且在分配给例如 Button.BackColor 时,您无法在它们之间进行转换以上是关于如何制作新颜色?的主要内容,如果未能解决你的问题,请参考以下文章