Color

AMD: require(["geoscene/Color"], (Color) => { /* code goes here */ });
ESM: import Color from "@geoscene/core/Color";
类: geoscene/Color
起始版本:GeoScene Maps SDK for JavaScript 4.0

通过传递十六进制、rgb(a)、hsl(a) 或命名颜色值来创建一个新的颜色对象。十六进制、hsl(a) 和命名颜色值可以作为字符串传递:

// Examples for green
let color = new Color("green");  // named value
let color = new Color("#00FF00");  // hex value
let color = new Color("hsl(120, 100%, 50%)");  // hsl
let color = new Color("hsla(120, 100%, 50%, 0.5)"); // hsla

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

// Examples for green
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 属性的对象。‎

示例
// Creates a green Color object using a named value
let color = new Color("green");

// Creates a green Color object using a hex value
let color = new Color("00FF00");

// Creates a new Color object using an array of r, g, b values
let color = new Color([125, 255, 13]);

// Add a fourth value to the array to add opacity (range between 0 and 1)
let color = new Color([125, 255, 13, 0.5]);

// Creates a new Color object using an object
let color = new Color({
  r: 125,
  g: 255,
  b: 13,
  a: 0.3  // Optional
});

属性概述

名称 类型 描述
Number

不透明度。

更多详情
Color
Number

蓝色值。

更多详情
Color
Number

绿色值。

更多详情
Color
Number

红色值。

更多详情
Color

属性详细信息

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

蓝色值。该值的范围介于 0255 之间。

绿色值。该值的范围介于 0255 之间。

红色值。该值的范围介于 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) 字符串,一个带有 rgba 属性的对象,或 Color 对象,并将此颜色实例设置为输入值。

更多详情
Color
String

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

更多详情
Color
String

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

更多详情
Color
Object

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

更多详情
Color
Number[]

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

更多详情
Color
Number[]

返回表示 Color 实例的 rgba 值的 4 分量数组。‎

更多详情
Color

方法详细说明

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

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

参数
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 实例的深度克隆。‎

返回
类型 描述
Color Color 实例的深度克隆。
示例
// Creates a deep clone of the graphic's color
let colorClone = graphic.symbol.color.clone();
fromArray(a, t){Color}static

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

参数

输入数组。

optional

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

返回
类型 描述
Color 返回一个新 Color 对象。
示例
let redColor = Color.fromArray([201, 0, 19]);
fromHex(colorStr, t){Color}static

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

参数
colorStr String

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

optional

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

返回
类型 描述
Color 返回一个新 Color 对象。
示例
let redColor = Color.fromHex("#CA0013");
fromJSON(json){Color}static

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

参数
json Object

实例的 JSON 表示形式。

返回
类型 描述
Color 新的 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 将用于调用此方法的 Color 实例设置为新颜色。
toCss(includeAlpha){String}

以 rgba 形式返回表示 Color 实例的 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[]}

返回表示 Color 实例的 rgba 值的 4 分量数组。‎

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

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息