Color

AMD: require(["geoscene/Color"], (Color) => { /* 代码 */ });
ESM: import Color from "@geoscene/core/Color";
类: geoscene/Color
起始版本: GeoScene API for JavaScript 4.22

通过传递十六进制、rgb(a)、hsl(a) 或 颜色名称。 Hex、hsl(a) 和颜色名称可以作为字符串传递:

// 绿色示例
let color = new Color("green");  // 命名值
let color = new Color("#00FF00");  // hex 值
let color = new Color("hsl(120, 100%, 50%)");  // hsl
let color = new Color("hsla(120, 100%, 50%, 0.5)"); // hsla

RGB 值可以作为数组、字符串或对象传入:

// 绿色示例
let color = new Color([0, 255, 0]);
let color = new Color([0, 255, 0, 0.5]);
let color = new Color("rgb(0, 255, 0)");
let color = new Color("rgba(0, 255, 0, 0.5)");
let color = new Color({r: 0, g: 255, b: 0});
let color = new Color({r: 0, g: 255, b: 0, a: 0.5});

rgba 和 hsla 中的 alpha 通道(不透明度)可以具有介于 0.0(完全透明)和 1.0(完全不透明)之间的值。

示例:

构造函数

new Color(color)
参数:

‎要创建的颜色。此参数可以是表示命名颜色或十六进制值的字符串;一个由三个或四个数字组成的数组,表示 r,g,b,a 值;或具有 r、g、b、a 属性的对象。‎

示例代码:
‎//  使用命名值创建绿色 Color 对象‎
let color = new Color("green");

// ‎使用十六进制值创建绿色 Color 对象‎
let color = new Color("00FF00");

// ‎ 使用 r、g、b 值数组创建新的 Color 对象‎
let color = new Color([125, 255, 13]);

//  ‎向数组添加第四个值以添加不透明度(范围介于 0 和 1 之间)‎
let color = new Color([125, 255, 13, 0.5]);

// ‎使用对象创建新的 Color 对象‎
let color = new Color({
  r: 125,
  g: 255,
  b: 13,
  a: 0.3  // 可选
});

属性列表

属性 类型 描述
Number更多信息

不透明度。

更多信息Color
Number更多信息

蓝色值。

更多信息Color
Number更多信息

绿色值。

更多信息Color
Number更多信息

红色值。

更多信息Color

属性详细说明

a Number

阿尔法值。 该值可以是 01 之间的任意数字,表示颜色的不透明度。 0 表示颜色完全透明,1 表示完全不透明。

b Number

蓝色值。 该值可以在 0255 之间。

g Number

绿色值。 该值可以在 0255 之间。

r Number

红色值。 该值可以在 0255 之间。

方法列表

属性 返回值类型 描述
Color更多信息

‎通过使用权重因子混合两种颜色来创建 Color 实例。‎

更多信息Color
Color更多信息

‎创建 Color 实例的深层克隆。‎

更多信息Color
Color更多信息

‎使用 3 或 4 个元素数组创建 Color 实例,按顺序将每个元素映射到颜色的 rgb(a)值。‎

更多信息Color
Color更多信息

‎从前缀为"#"的十六进制字符串创建 Color 实例。‎

更多信息Color
Color更多信息

‎创建一个新的 Color 实例,并使用 JSON 对象中的值对其进行初始化。‎

更多信息Color
Color更多信息

‎从格式为 "rgb()" 或 "rgba()" 的字符串创建 Color 实例。‎

更多信息Color
Color更多信息

‎通过分析泛型字符串创建 Color 实例。‎

更多信息Color
Color更多信息

获取一个 rgb(a) 值的数组,命名字符串,十六进制字符串或 hsl(a) 字符串,一个带有r 、g 、b 和 a 属性, 或 Color 对象,并将此颜色实例设置为输入值。

更多信息Color
String更多信息

‎以 rgba 形式返回表示 Color 实例的 CSS 颜色字符串。‎

更多信息Color
String更多信息

‎返回表示 Color 实例的十六进制形式的 CSS 颜色字符串。‎

更多信息Color
Object更多信息

‎返回一个 JSON 对象,其中包含 Color 实例中的所有值。‎

更多信息Color
Number[]更多信息

‎返回表示 Color 实例的 rgb 值的 3 分量数组。‎

更多信息Color
Number[]更多信息

‎返回一个由 4 个分量组成的 rgba 值数组,这些值表示 Color 实例。‎

更多信息Color

方法详细说明

blendColors(start, end, weight, out){Color}static

通过使用权重因子混合两种颜色来创建颜色实例。(可选)接受要更新并返回的颜色对象,而不是创建新对象。

参数:
start Color

开始颜色。

end Color

结束颜色。

weight Number

权重值是一个从 0 到 1 的数字,其中 0.5 是 50/50 的混合。

out Color
optional

以前分配的 Color 对象,用于结果重用。

返回值:
类型 描述
Color 返回一个新的color对象。
示例代码:
let startColor = new Color("#0000FF");
let endColor = new Color("#CA0013");
let blendedColor = Color.blendColors(startColor, endColor, 0.5);
clone(){Color}

创建一个实例的深拷贝。

返回值:
类型 描述
Color

颜色实例的深拷贝。

示例代码:
// 创建图形颜色的深拷贝
let colorClone = graphic.symbol.color.clone();
fromArray(a, obj){Color}static

使用 3 或 4 个元素数组创建 Color 实例,按顺序将每个元素映射到颜色的 rgb(a) 值。(可选)接受 Color 对象使用颜色值进行更新并返回,而不是创建新对象。

参数:

输入数组。

obj Color
optional

以前分配的 Color 对象,用于结果重用。

返回值:
类型 描述
Color

返回新的 Color 对象。

示例代码:
let redColor = Color.fromArray([201, 0, 19]);
fromHex(color, obj){Color}static

从前缀为"#"的十六进制字符串创建 Color 实例。支持 12 位 #rgb。(可选)接受 Color 对象使用分析的值进行更新并返回,而不是创建新对象。

参数:
color String

十六进制字符串中的输入颜色。

obj Color
optional

十六进制字符串中的输入颜色。

返回值:
类型 描述
Color

返回新的 Color 对象。

示例代码:
let redColor = Color.fromHex("#CA0013");
fromJSON(json){Color}static

创建一个新的 Color 实例,并使用 JSON 对象中的值对其进行初始化。

参数:
json Object

实例的 JSON 表示形式。

返回值:
类型 描述
Color 新的颜色实例。
fromRgb(color, out){Color}static

从格式为 "rgb()" 或 "rgba()" 的字符串创建 Color 实例。(可选)接受 Color 对象使用分析的值进行更新并返回,而不是创建新对象。

参数:
color String

字符串形式为 "rgb()" 或 "rgba()" 的输入颜色。

out Color
optional

以前分配的 Color 对象,用于结果重用。

返回值:
类型 描述
Color

返回新的 Color 对象

示例代码:
let redColor = Color.fromRgb("rgb(202,0,19)");
fromString(str, obj){Color}static

通过分析泛型字符串创建 Color 实例。接受十六进制、rgb 和 rgba 样式的颜色值。(可选)接受 Color 对象使用分析的值进行更新并返回,而不是创建新对象。

参数:
str String

输入值。

obj Color
optional

以前分配的 Color 对象,用于结果重用。

返回值:
类型 描述
Color 返回新的 Color 对象。
示例代码:
let redColor = Color.fromString("blue");
setColor(color){Color}

采用 rgb(a) 值数组、命名字符串、十六进制字符串或 hsl(a) 字符串、具有rgba属性的对象或 Color 对象,并将此颜色实例设置为输入值。

参数:

新的颜色值。该参数可以是表示命名颜色的字符串或十六进制值;代表 r、g、b、a 值的三个或四个数字的数组;或具有 r、g、b、a 属性的对象。

返回值:
类型描述
Color
将调用此方法的颜色实例设置为新颜色。

toCss(includeAlpha){String}

返回代表 Color 实例的 rgba 格式的 CSS 颜色字符串。

参数:
includeAlpha Boolean
optional

如果true,则 alpha 值将包含在结果中。

返回值:
类型 描述
String

rgba 格式的 CSS 颜色字符串,表示用于调用此方法的 Color 实例。

toHex(){String}

返回代表 Color 实例的十六进制形式的 CSS 颜色字符串。

返回值:
类型 描述
String 十六进制形式的 CSS 颜色字符串,表示用于调用此方法的 Color 实例。
toJSON(){Object}

返回一个 JSON 对象,其中包含来自 Color 实例的所有值。

返回值:
类型 描述
Object Color 实例的 JSON 表示。
toRgb(){Number[]}

返回表示 Color 实例的 rgb 值的 3 分量数组。

返回值:
类型 描述
Number[]

rgb 值的 3 分量数组。

toRgba(){Number[]}

返回一个由 4 个分量组成的 rgba 值数组,这些值表示 Color 实例。

返回值:
类型 描述
Number[] rgba 值的 4 分量数组。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.