抛开Excel本身的色彩操作外,其实我们还可以通过其他方法来获取配色方案,然后将这些配色方案保存到Excel调色板或主题中。
抛开Excel来取色
A.配色书籍
书店有大量的配色书籍可供我们参考,我们需要做的仅仅是将这些书籍中配色方案的色彩R、G、B数值通过Excel颜色面板,一个个手工加载到调色板或主题中。
B.专业配色网站
在互联网上存在着大量配色相关的网站,其中Adobe公司的kuler网站,有着海量配色方案可供我们自由选择,且主要以5色配色方案居多,这是获取配色方案的最佳去处。同时该网站还有一个非常好用的配色色环供使用。Adobe公司提供了kuler软件来读取kuler网站的配色方案数据,不过限于国内的网速,不建议使用kuler软件,更好的建议是:通过ColorPix(该软件请在互连网搜索,属免费软件)类的屏幕取色工具来取得这些配色方案色彩的R、G、B数值。
知识扩展
具体网址见:http://kuler.adobe.com/#themes/newest?time=0
C.从公司标志获取配色
当代公司标志设计遵循VI设计原则(图4.4-5是一个公司标志集合和色环的对照),取色明快,层次突出,一般与公司的企业文化和使命诉求切合,非常适合将其配色用于图表。
图4.4-5 荷兰GraphicHug全球各大品牌标志色彩系统
学习思考
特别说明:
互联网上有推荐Excel图表配色时使用图片来获取色彩,本书却不推荐这样获取配色方案。这主要是基于以下考虑,这类图片:
1)过分强调美,图表强调的却不是美学;
2)色彩表达面积不规则,和图表的有序的色彩刺激有较大出入;
3)色彩层次较为丰富,应用在图表时把握难度较大。
D.使用专业配色软件
1)GenoPal Pro
一个小巧的付费配色软件,可以屏幕取色,也可对图片取色和选定基色,自动配色,软件界面如图4.4-6所示。其保存的配色方案基于XML,可以非常容易地将R、G、B数值导入Excel单元格中,非常适合用来辅助设置Excel 2003的56色索引调色板。
图4.4-6 GenoPal Pro软件界面
知识扩展
具体网址见:http://www.genopal.com/pcmac/demo
2)ColorImpact
一个获得多项大奖的专业配色软件,功能强大,可以连续对屏幕取色,配色方式齐全,配色方案输出格式多样,是不错的Excel图表辅助配色工具。其软件界面如图4.4-7所示。
图4.4-7 ColorImpact软件界面
知识扩展
具体网址见:http://www.tigercolor.com/ColorImpact.asp
快捷设置调色板或主题色彩
A.Excel 2003及以往版本
使用一个个颜色去设置56个索引调色板是非常痛苦的一件事,通过下述VBA代码可以快速设置一个调色板,且不易出错。
程序代码:4.4-1 快速设置Excel 2003的56索引色调色板
B.Excel 2007和2010
1)自定义主题以xml文件存储,存储位置在:
?:\Documents and Settings\###\Application Data\Microsoft\Templates\Document Themes\Theme Colors\*.xml
?=系统盘符;###=系统用户名;*=存储的自定义主题名称
2)快捷创建一个新的自定义主题:
a)先开启:页面布局>颜色>[新建主题颜色],在[新建主题颜色]>“名称”中设置一个主题名称,并保存。
b)在Excel中打开1)中的目录,双击打开先前设置的主题名称的xml文档。
c)修改H1~M1六个单元格十六进制的网页颜色代码为自己需要的颜色代码,保存并关闭即可。
C.Excel的内部颜色设置说明
1)Excel的命名颜色
Excel内部有8个名称定义的颜色,分别是黑色(Black)、白色(White)、红色(Red)、蓝绿色(Cyan)、蓝色(Blue)、黄色(Yellow)、洋红色(Magenta)、绿色(Green),这些颜色直接可以使用颜色名称来设置。
a.在数字的特殊格式设定中可以直接使用。
中文Excel:#,##0;[红色]-#,##0
英文Excel:#,##0;[red]-#,##0
b.在VBA中直接指定对象的颜色,格式为“vb+英文颜色名称”,如对图表“Chart1”中数值坐标轴的刻度线标志颜色进行设置,如下所示:
Charts("Chart1").Axes(xlValue).TickLabels.Font.Color=vbblack
2)通过网页获取的色彩有时基于十六进制表示,通过和下述函数类似的公式可转换为Excel使用的RGB格式。
R通道=HEX2DEC(MID(C4,2,2))
G通道=HEX2DEC(MID(C4,4,2))
B通道=HEX2DEC(MID(C4,6,2))
3)Excel的颜色序号
在VBA中可以使用代表每一个颜色的唯一识别序号,例如在Excel 2010中将单元格A1的内部设置为黄色:
Worksheets("Sheet1").Range("A1").Interior.Color=65535
注:由于Excel 2003及其过往版本基于56索引色,仅可直接适用在自选图形。
a.颜色序号的函数计算方法如下:
=(R*1)+(G*256)+(B*65536)
b.将颜色序号转换为RGB格式。
b1)函数转换方法如下:
R通道=MOD(颜色序号,256)
G通道=MOD(INT(颜色序号/256),256)
B通道=MOD(INT(颜色序号/256^2),256)
b2)VBA转换方法如下:
程序代码:4.4-2 颜色序号转RGB(采用文本空格连接形式)
程序代码:4.4-3 颜色序号转RGB(采用数组形式)
程序代码:4.4-4 RGB转颜色序号(RGB分量形式转换)
程序代码:4.4-5 RGB转颜色序号(文本空格连接形式转换)
4)Excel的VBA颜色代码
在VBA中可以使用一种基于十六进制的VBA颜色代码,该颜色代码和十六进制的网页颜色代码表示方法不同,VBA中使用的次序为BGR方式。比如:橙色十六进制的VBA颜色代码为&H00A5FF;十六进制的网页颜色代码为#FFA500。
程序代码:4.4-6 十六进制网页颜色代码转换十六进制VBA颜色自定义函数
5)Excel中RGB和HSL数值的互换(由于小数精度问题,转换数值会有少许误差)
程序代码:4.4-7 Excel中RGB和HSL数值的互换API函数声明
程序代码:4.4-8 RGB转HSL(文本空格连接形式转换)
程序代码:4.4-9 RGB转HSL(HSL分量形式转换)
程序代码:4.4-10 HSL转RGB(文本空格连接形式转换)
程序代码:4.4-11 HSL转RGB(RGB分量形式转换)
6)Excel 2007和2010的色深百分比。
Excel 2007和2010的调色面板中包含了主题定义的10个基色,每个主题基色有5个自动从浅至深的过渡色,合计共50个过渡色(如图4.4-8所示),这些过渡色均是通过色深百分比进行标注的。
图4.4-8 Excel 2007和2010调色面板的50个过渡色
Excel VBA中提供了TintAndShade属性,该属性的值为从-1(最深:黑色)到1(最浅:白色)的数,0表示中间色。Excel 2003的自选图形可以直接使用该属性,Excel 2007和2010在使用上则无限制。
程序代码:4.4-12 Excel 2003矢量自选图形填色渐变减淡
程序代码:4.4-13 Excel 2007和2010单元格填色渐变减淡