style~Color(r, g, b, a)

颜色类。用r,g,b三个颜色分量和a透明度来存储颜色。

Summary

Methods:
clone

复制一个新的颜色对象。

fromArray

根据颜色数组设置颜色值。

fromHexColor

根据十六进制格式的颜色字符串来设置颜色值。

fromNormalizeArray

根据归一化的颜色数组设置颜色值。

fromRGBAColor

根据rgb()或rgba()格式的颜色值来设置Color对象的颜色值。

getOpacity

获取颜色中的透明度。

setOpacity

设置颜色中的透明度。

toArray

获取颜色值。颜色值是未归一化的数组形式。

toHexColor

获取十六进制表示的颜色值。

toNormalizeArray

获取归一化后的颜色数组,即将rgb值的范围控制在0~1之间。

toRGBAColor

将颜色对象转化成rgba('red','green','blue','alpha')形式的颜色字符串。

toRGBColor

将颜色对象转化成rgb('red','green','blue')形式的颜色字符串。

Constructor

new Color(r, g, b, a)

构造函数

Parameters:
Name Type Default Description
r Number 0

颜色值中的红色分量,0~255 默认为0。

g Number 0

颜色值中的绿色分量,0~255,默认为0。

b Number 0

颜色值中的蓝色分量,0~255,默认为0。

a Number 1

颜色透明度,0~1,默认为1。

Throws:

当参数r、g、b、a其中任意一个参数值不在其范围之内时,抛出异常:"Color-constructor:the color parameter was out of range!"。

Example
let color = new hmap.style.Color(255,1,1,1);

Methods

clone()

复制一个新的颜色对象。

Example
let newColor = color.clone();

fromArray(color)

根据颜色数组设置颜色值。

Parameters:
Name Type Description
color Array

颜色值数组,包含4个元素,前三个元素是未归一化的r,g,b值。

Throws:
  • 当传入的数组长度小于3或者大于4使,抛出异常:"Color-isColorArray:color must be an Array of RGB or RGBA!"

  • 当传入的参数,颜色各个分量超出范围限制(见构造函数参数描述)时,抛出异常:"Color-isColorArray:the color parameter was out of range!"。

Example
color.fromArray([255,1,1,1]);

fromHexColor(hexColor) → {Boolean}

根据十六进制格式的颜色字符串来设置颜色值。

Parameters:
Name Type Description
hexColor String

十六进制格式表示的颜色值。

Returns:
Boolean -

设置成功返回true;设置失败返回false。

Example
let result = color.fromHexColor("#00FF00");

fromNormalizeArray(color) → {Boolean}

根据归一化的颜色数组设置颜色值。

Parameters:
Name Type Description
color Array

归一化后的颜色值数组。可以是包含r、g和b3个元素的数组,也可以是包含r、g、b和a4个元素的数组。

Returns:
Boolean -

设置成功返回true;设置失败返回false。

Example
let result = color.fromNormalizeArray([0.2,0.1,1,1]);

fromRGBAColor(rgbaColor) → {Boolean}

根据rgb()或rgba()格式的颜色值来设置Color对象的颜色值。

Parameters:
Name Type Description
rgbaColor String

颜色值,是'rgb(r,g,b)'或者'rgba(r,g,b,a)'格式。

Returns:
Boolean -

设置成功返回true;设置失败返回false。

Example
let result = color.fromRGBAColor("rgba(255,0,0,1)");

getOpacity() → {Number}

获取颜色中的透明度。

Returns:
Number -

透明度。

Example
let opacity = color.getOpacity();

setOpacity(opacity) → {Array}

设置颜色中的透明度。

Parameters:
Name Type Description
opacity Number

透明度值,范围为[0,1]。

Throws:

当参数不在0和1范围内时,抛出异常:"parameter was not a number between 0 and 1!"。

Returns:
Array -

包含r、g、b和a 4个元素的颜色数组,数组中的元素r、g、b范围均为0~255。

Example
let newColor = color.setOpacity(1);

toArray() → {Array}

获取颜色值。颜色值是未归一化的数组形式。

Returns:
Array -

颜色值。

Example
let colorArray = color.toArray();

toHexColor() → {String}

获取十六进制表示的颜色值。

Returns:
String -

返回十六进制格式的颜色字符串。

Example
let hexColor = color.toHexColor();

toNormalizeArray() → {Array}

获取归一化后的颜色数组,即将rgb值的范围控制在0~1之间。

Returns:
Array -

返回归一化后的颜色数组。

Example
let colorNormalArray = color.toNormalizeArray();

toRGBAColor() → {String}

将颜色对象转化成rgba('red','green','blue','alpha')形式的颜色字符串。

Returns:
String -

rgba()形式的字符串。

Example
let rgbaColor = color.toRGBAColor();

toRGBColor() → {String}

将颜色对象转化成rgb('red','green','blue')形式的颜色字符串。

Returns:
String -

rgb()形式的字符串。

Example
let rgbColor = color.toRGBColor();