欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

jpgraph中文手册之jpgraph颜色控制说明教程

程序员文章站 2022-05-26 20:20:02
...
  继续以中文PHP教程形式翻译jpgraph帮助文档,今天要介绍的是在使用jpgraph时如何对图表的颜色进行控制,主要涉及jpgraph类库中几种颜色的命名方法说明;颜色透明度、亮度如何进行控制以及在使用过程中颜色透明度及亮度的标示说明。希望对使用jpgraph创建图表的开发者有所帮助。

  使用适当的颜色是创建清晰直观图表的重要组成部分。为了简化颜色处理,jpgraph支持几种方法来调整和操作颜色,比如按名称或值来调整。

  所有对象的几乎所有颜色设置方法主要有两种命名方式

  SetColor()设置轮廓的颜色或者如果该对象只有一个颜色(如字体)设置这个颜色

  SetFillColor()填充指定区域对象的颜色。

  这两个方法都需要一个参数来标识颜色

  通过颜色名称来指定颜色

  jpgraph有一组标准颜色对应的名称列表,需参考jpgraph英文文档中附录D中的颜色名称列表对应关系

  SetColor(’white’)
  SetFillColor(’orange’)

  当你不需要替换变量时始终使用单引号字符串会更快更方便

  通过RGB值来指定颜色

  使用已命名的颜色取决于jpgraph类库知道的颜色。如果需要其他颜色需要人工指定。

  第一种方法是使用RGB值来指定颜色,即红、绿、蓝组成颜色。每个组成部分由0-255范围内的整数指定。比如

  SetColor( array(255,255,255))
  SetColor( array(0xff,0xff,0xff))
  SetFillColor( array(0×44,0×54,0xa4))

  常用的数组array(0,0,0)代表黑色,array(255,255,255)代表白色。

  使用HTML颜色指定

  第二种方法是使用与RGB数组类似的16进制RGB值来代替,也就是HTML网页中使用的颜色,比如

  SetColor(’#333′), 注意是一个短格式,与SetColor(’#333333′)一致
  SetColor(’#12be7a’)
  SetFillColor(’#99eff5′)

  颜色的微调处理

  这部分主要介绍的是颜色透明度和亮度的控制。

  指定alpha通道(颜色透明度)

  通过指定透明度,颜色也可以变成半透明。

  alpha通道可以指定0.0-1.0范围内的数字来指定颜色透明度,0.0表示不透明,1.0表示全透明,即只显示背景色。透明度通过@字符添加。通常使用在区域填充中(即使用SetFillColor()方法时),比如

  SetFillColor(’red@0.2′), 稍透明的红色
  SetFillColor(’red@0.8′), 几乎全透明的颜色

  使用不同alpha值的效果如下图,当蓝色越来越透明时,红色条状图越来越清晰。

使用jpgraph控制颜色的透明度示例

  使用jpgraph调整亮度

  亮度系数通过:字符分隔厌颜色。亮度系数值的范围在0.0-2.0。使用亮度系数0.0表示颜色将会变黑(没有任何亮度),2.0系数表示颜色为白色(最大亮度)。使用系数1将会让原来的颜色不变。

  亮度系数可以在已命名的颜色名称或HTML颜色中使用,比如

  SetColor(’red:0.8′), 稍微暗点的红色
  SetColor(’red:1.5′), 明亮的hongse
  SetColor(’#3485a9:1.8), 明亮的蓝绿色

  调整已命名的颜色亮度以及调整HTML颜色说明符的亮度,如图

使用jpgraph调整颜色的亮度示例

  亮度和透明度调整的结合方法

  SetColor(’red@0.7:1.2′)
  SetFillColor(’#4545aa@0.3:1.5′)

  @后的第一个数值代表透明度,第二个数值代表亮度

  额外的颜色处理说明

  有一些plot类型需要额外的颜色处理以便更容易在数据集之间处理和分化。

  Pie plots

  饼图支持颜色主题的概念。颜色主题是将简单的一组颜色用于饼图内连续切片。

  Color maps

  矩阵(只有在PRO版本)和等高线图也有Color maps的概念。

  至此,使用jpgraph类库对图表颜色进行处理的教程就介绍完了,jpgraph支持的颜色透明度和亮度控制非常实用,而其对颜色设置的方法及命名方法也非常适合WEB设计人员使用。

  :PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。