5.3 颜色

既然是绘图,丰富的颜色是必须的。GMT中可以通过五种不同的方式来指定颜色,即:

  1. 颜色名
  2. RGB 值
  3. HSV 值
  4. CMYK 值
  5. 灰度值

5.3.1 颜色名

通过颜色名指定颜色是最直观的方式了。常见的颜色如 whiteblackredorangeyellowgreencyanbluemagentagray (或 grey )和 brown 等。除 whiteblack 之外,其余的几种常见颜色名还可以加上前缀 lightdark,以表示浅色和深色。比如 lightbluebluedarkblue 分别表示浅蓝、蓝色和深蓝。

GMT共支持663种颜色名。Linux下可以使用 man gmtcolors 命令查看GMT支持的颜色名列表,或直接查看GMT自带的颜色文档 ${GMTHOME}/share/doc/pdf/GMT_RGBchart_a4.pdf

所有的颜色名都是不区分大小写的,所以 lightblueLIGHTBLUE 或者 LightBlue 都是合法的颜色名。

5.3.2 RGB

即三原色光模型,或又称RGB颜色模型,是一种加色模型,将红(Red )、绿(Green)、蓝(Blue)三原色的色光以不同的比例相加,以产生多种多样的色光。

GMT中可以通过指定 r/g/b 的格式来指定RGB颜色,其中 rgb 的取值范围都是0到255,三者用反斜线 / 分开。

RGB颜色示例:

  • 0/0/0 :黑色;
  • 255/255/255 :白色;
  • 255/0/0 :红色;
  • 0/255/0 :绿色;
  • 0/0/255 :蓝色;

RGB颜色除了可以用上面的表示法之外,还可以用HMTL中常用的表示法 #RRGGBB,即分别用两位的十六进制数字表示每个颜色通道,0对应的16进制是 00,255对应的16进制是 FF。例如 #000000 即黑色,#FF0000 即红色。十六进制数用大小写表示均可。

5.3.3 HSV

通过 h-s-v 格式指定颜色,其中HSV分别代表色相(Hue)、饱和度(Saturation)、明度(Value)。

  • 色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等,取值范围为0到360。
  • 饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取值范围为0到1。
  • 明度(V)是色彩的亮度,取值范围为0(dark)到1(light)。

三者之间用破折号 - 分开,例如 200-0.1-0.1

5.3.4 CMYK

印刷四分色模式,是彩色印刷时采用的一种套色模式,利用色料的三原色混色原理,加上黑色油墨,共计四种颜色混合叠加,形成所谓“全彩印刷”。四种标准颜色是:

  • Cyan:青色,又称为天蓝色或是湛蓝
  • Magenta:品红色,又称为洋红色
  • Yellow:黄色
  • blacK:定位套版色(黑色)

四者的取值范围均为0到1,用反斜线 / 分开,例如 0.2/0.3/0.4/0.4

5.3.5 灰色

灰色是常见的一种颜色,而灰色又可以根据灰的不同程度细分为不同的灰色。指定灰色的办法很简单,用一个数值表示灰度即可,其取值范围为0到255。例如 0 表示黑色, 255 表示白色, 128 表示灰色。

除了用灰度表示之外,灰色还可以用前面提到的几种形式表示:

  1. 用RGB表示灰度

    灰色本质上就是 R=G=B 的一种颜色。因而 128/128/128 代表灰度为 128200/200/200 代表灰度是 200

  2. 用GMT颜色名表示灰度

    GMT自定义了多个名字来表示不同程度的灰色,除了前面说过的 graylightgraydarkgray 之外,还有 gray0gray1 一直到 gray100 。其中 gray0 即黑色, gray100 即白色。

5.3.6 颜色小结

GMT中可以用五种方法指定颜色,分别是:

  • 颜色名: red
  • RGB值: 30/25/128#00FA84
  • HSV值: 200-0.1-0.1
  • CMYK值: 0.2/0.3/0.4/0.5
  • 灰度: 30

5.3.7 透明色

每一种颜色都可以额外指定颜色的透明度。GMT中可以通过在颜色后加上 @ 再加上透明度来得到不同程度的透明色。透明度的取值范围是0到100,0表示不透明,100表示全透明。例如: red@2530/25/128@60

除了可以指定某个颜色的透明度之外,还可以指定整个图层的透明度,见 -t 选项