windows:Visuals/color

出自UXGuide.net

在2010年2月9日 (二) 01:03由Richard.Bao (讨论 | 贡献)所做的修订版本
(差异) ←上一修订 | 当前修订 (差异) | 下一修订→ (差异)
跳转到:导航, 搜索

颜色
Color

目录


色彩对于大多数用户界面来说都是重要的视觉元素。除了纯粹的美学意义之外,颜色还具有相关的意义并会引起情绪反应。为了避免含义产生混乱,使用颜色时应当保持一致。如果要取得理想的情绪反应,就必须恰当地使用颜色。

颜色往往会是按照颜色空间来考虑的,如 RGB(红、绿、蓝)、HSL(色相、饱和度、亮度)和 HSV(色相、饱和度、值)是最为常用的颜色空间。

Aa511283_color02(en-us,MSDN_10).png


RGB 颜色空间可以被形象化为一个立方体。

虽然显示技术使用 RGB 值,并使得开发人员也以 RGB 的方式来处理颜色,但 RGB 颜色空间并不符合人们对颜色的直观感受。例如,如果你给青色加一些红色的话,结果并不是想像中的更红,而只是更亮的青色。

Aa511283_color03(en-us,MSDN_10).png


在这个示例中,向青色中加入红色使原来的青色更亮,而不是更红。RGB 颜色空间不符合人们对颜色的直观感受。

HSL/HSV 颜色空间由三个部分组成:色相、饱和度、亮度或值。这两个颜色空间经常用来代替 RGB,因为它们更加接近于人们对颜色的直观感受。

HSL 颜色空间组成了一个双锥形,顶端是白色,底端是黑色,其他中间色则在中部:

Aa511283_color05(en-us,MSDN_10).png
色环,红色是 0 度,黄色是 60 度,绿色是 120 度,青色是 180 度,蓝色是 240 度,品红是 300 度。

Aa511283_color04(en-us,MSDN_10).png


HSL 颜色空间可以被形象化为一个双锥形。

HSV 颜色空间较为相似,只是它形成的是一个单锥形:

Aa511283_color06(en-us,MSDN_10).png


HSV 颜色空间可以被形象化为一个单锥形。

在 HSL 和 HSV 颜色空间中,如果饱和度为 0 的话,那么亮度所指定的都是某种级别的灰色。在 Windows 中,HSL 和 HSV 空间往往被重新映射到 0 至 240 的范围,以使颜色能够用 32 位数值来表示。

注:字体无障碍访问(辅助特性)相关的设计规范请参考各自相应的章节。


设计理念

有效使用颜色能够使你程序的用户界面更加高效。颜色可以帮助用户瞬间理解特定的含义。颜色也能够使你的产品看起来更加美观和精致。

不幸的是,颜色很容易被无效地使用,尤其是你缺少视觉设计方面的训练时。对颜色的糟糕使用会使设计看起来不专业、陈旧、令人困惑或就是丑陋。糟糕地使用颜色还不如根本不用颜色。

本节将向你解释为了有效地使用颜色所需要了解的东西。


颜色是如何被使用的

颜色通常在用户界面中用于表达:

当然,颜色在图形中往往是用于纯美学方面的原因。但即使美学因素非常重要,你仍然应当主要基于它们的含义来为 UI 元素选择颜色,而不是基于其外观。


颜色涵义

用户对颜色的理解往往是与文化密切相关的。例如,在美国,新娘的婚纱大体上是白色的,而黑色则与葬礼相关。然而在日本,颜色的象征意义正好相反:白色是葬礼的代表色,而黑色则被认为会给婚礼带来好运。

这就是说,红、黄、绿色在状态方面的涵义在全世界范围内是统一的。这是因为联合国教科文组织:路标与信号维也纳公约(英文)为世界的交通信号灯定义进行的约定(即红表示停止,绿表示通行,黄表示注意)。你在使用这些状态颜色时可以不用担心文化方面的涵义区别。

除了状态颜色之外,Microsoft® Windows® 还基于其他约定为颜色分配了一些含义,这些约定将在本文的设计规范部分给出。确保你的程序中颜色的使用与这些颜色约定相兼容。


颜色可访问性

使用颜色会影响到最广泛的可能受众对你软件的可访问性。盲人或者视力低下的用户可能无法很好地看到颜色,甚至完全看不见。大约 8% 的成年男性具有各种形式的色彩混淆(通常被错误地称为“色盲”),其中红绿色彩混淆最为常见。

Aa511283_color12(en-us,MSDN_10).png


正常色彩视觉看到的基色。

Aa511283_color12a(en-us,MSDN_10).png


红色盲(占男性人口的 1%)看到的基色。

Aa511283_color12b(en-us,MSDN_10).png


绿色盲(占男性人口的 6%)看到的基色。

Aa511283_color12c(en-us,MSDN_10).png


蓝色盲(占男性人口的 1%)看到的基色。

更多信息,参见色盲用户能看到你的网站吗?(英文)


用颜色进行视觉强化

对于颜色涵义及可访问性问题的最好解决方案即是将颜色用于对这些主要沟通方式之一的含义进行视觉强化:

Aa511283_color07(en-us,MSDN_10).png
在这个示例中,工具提示文本用于表达图标的含义。
Aa511283_color08(en-us,MSDN_10).png
在这个示例中,标准图标可以通过其设计轻易地加以区分。

白色是许多设计中最明显的属性,它应当始终是冗余的。


彩色设计

可以让你出乎意料的是,最好的彩色设计方式是从没有彩色的设计开始,从线框图或者黑白稿开始,之后再加上色彩。这么做有助于确保信息不会单独通过颜色来传达。它也有助于确保在黑白打印机上的打印稿看上去足够美观。


使用主题或系统颜色

尽管有效使用颜色的复杂因素很多,但在 Windows 用户界面中,选择颜色往往可以归结为根据一些简单的规则轻松选择合适的主题颜色系统颜色。用户能够按照他们的选择来挑选并自定义这些颜色方案。

这么做不仅可以适应所有用户的色彩偏好,还消除了选择一个完美的、适合所有品味、风格及文化(当然,或许是不可能的)的色彩方案的负担。

最重要的一件事:

通过选择合适的主题颜色或系统颜色来选择颜色。绝不要将颜色用作沟通的主要方式,而应当是作为辅助方式以对其含义进行视觉加强。用线框图或黑白稿进行设计以帮助确保颜色是次要的。


正确使用主题或系统颜色

假设用户是根据个人需要来选择主题或系统颜色的,且主题及系统颜色搭配合理。基于这样的假设,如果你始终根据其设计用途来选择主题或系统颜色,并将前景与其关联的背景成对使用的话,这些颜色则可以保证在所有视频模式下都清晰可见且尊重用户的希望,包括高对比度模式。例如,在系统窗口背景颜色上的系统窗口文本颜色一定是清晰的。

尤其需要坚持的是:

最重要的一件事:

始终根据其设计用途来选择主题或系统颜色,并将前景与对应背景色配对使用。


使用其他颜色

尽管 Windows Vista 主题定义了大量主题部件,但你可能仍然会觉得颜色不够用。虽然你可以硬编码这些颜色,但更好的办法是从这些主题或系统颜色中派生颜色。合理运用这一方法,你不但可以使用主题和系统颜色,而且灵活性更强。

例如,假设你需要一个比主题窗口背景颜色更深的窗口背景色。在 HSL 颜色空间中,颜色加深意味着亮度值较低。也就是说,你可以通过下列步骤来生成一个更深的窗口背景色:

  1. 获取窗口背景主题色的 RGB 值。
  2. 将 RGB 转换为 HSL 值。
  3. 降低亮度值(比如说 20%)。
  4. 转换回 RGB 值。

通过这种方法,可以确保生成的颜色看起来比原来的颜色要深(除非原来的颜色已经很深了)。

Aa511283_color09(en-us,MSDN_10).png


在这个示例中,较深的窗口背景色是从主题色派生而来。


测试颜色

要确定你的程序使用的颜色是否实现了无障碍且没有被用作主要的沟通方式,我们建议使用 Fujitsu ColorDoctorVischeck 实用程序来:

要确定你的程序对颜色使用的编程是否正确,应当在下列模式下对你的程序进行测试:

所有屏幕元素应当都清晰可辨,并以期望的样式显现,甚至是立即更改模式之后。


设计规范

常规


使用主题及系统颜色


色彩含义


在数据中使用颜色

Aa511283_color13(en-us,MSDN_10).png
在这个示例中,如果第一个颜色是红色,则下一个颜色应当是蓝、绿或青色,而不是品红、紫、橙或黄。
Aa511283_color14(en-us,MSDN_10).png
在这个示例中,浅蓝基色与背景在色调、饱和度及亮度上分别有较大的差异。
Aa511283_color15(en-us,MSDN_10).png
在这个示例中,白色及浅色背景色使得前景色易于区分。


文档编写

正确:
Aa511283_color11a(en-us,MSDN_10).png
错误:
Aa511283_color11b(en-us,MSDN_10).png
在错误的示例中,该消息提及 Windows Internet Explorer 信息栏时使用的是颜色而不是名称。
导航
工具箱