![]() |
1
14
不幸的是,尽管Windows控制台可以支持RGB颜色,但console类只公开consolecolor枚举,这大大限制了您可以使用的颜色。如果您希望将颜色结构映射到“最近”的控制台颜色,这将很棘手。 但是,如果希望命名的颜色与相应的控制台颜色匹配,则可以创建一个映射,例如:
或者,如果性能不是那么重要,您可以通过字符串进行往返。(仅适用于 命名颜色 )
编辑:这里有一个链接指向 question about finding color "closeness" . |
![]() |
2
29
下面是由.NET 4.5转换的控制台颜色十六进制值。首先是程序:
|
![]() |
3
21
consolecolors枚举似乎使用了ega样式调色板排序,即:
您可以大致将24位颜色(或32位颜色,通过忽略alpha通道)映射到基本上带有亮度组件的3位颜色。在这种情况下,如果System.Drawing.Color的红色、绿色或蓝色字节大于128,则设置“亮度”位;如果等效源字节大于64,则设置红色、绿色、蓝色位。 |
![]() |
4
2
在Vista上,稍后查看 SetConsoleScreenBufferInfoEx API函数。 有关用法示例,请参阅 my answer 到另一个非常类似的stackoverflow问题。(感谢Hans Passant给出的原始答案)。 |
![]() |
5
2
你可以使用反射。
用途:
|
![]() |
6
1
通过使用
请注意,控制台的颜色名称与已知的颜色不匹配。因此,如果你测试一个颜色映射方案,你必须记住(例如)在众所周知的颜色中,灰色是深灰色,浅灰色是灰色,绿色是深绿色,石灰是纯绿色,橄榄是深黄色。 |
![]() |
7
1
简单的一个…
|
![]() |
8
0
在版本6(以及任何控制台窗口类窗口)之前,PowerShell.exe的独特默认“蓝底白字”颜色实际上是
暗黄色
在
暗红色
如果你检查
以下是默认控制台颜色表的十六进制RGB值:
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 3 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 3 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |