Three.js - THREE.Color颜色对象详解 (方法介绍)

1,基本介绍
(1)在 Three.js 中,使用 THREE.Color 对象来表示颜色。

(2)在构造 Color 对象时,可以使用十六进制字符串("#c0c0c0")或者十六进制值(0xc0c0c0)来指定颜色,还可以使用 RGB 颜色值(0.3,0.5,0.6)。

在这里插入图片描述

//推荐使用十六进制值

new THREE.Color(0x00000, 1.0)

2,THREE.Color 对象的方法
如果要在对象构造好之后更改颜色,就得创建一个新的 THREE.Color 对象或者修改当前 THREE.Color 对象的内部属性。

THREE.Color 对象可以通过如下方法来设置或者获取信息。

函数名 描述
set(value) 将当前颜色设置为指定的十六进制值。这个值可以是字符串、数值或是已有的 THREE.Color 实例。
setHex(value) 将当前颜色设置为指定的十六进制数字值。
setRGB(r,g,b) 根据提供的 RGB 值设置颜色。参数范围从 0 到 1。
setHSL(h,s,l) 根据提供的 HSL 值设置颜色。参数范围从 0 到 1。可以查看 http://en.wikibooks.org/wiki/Color_Models:_RGB,_HSV,_HSL 了解 HSL 如何用于设置颜色。
setStyle(style) 根据 css 设置颜色的方式来设置颜色。例如:可以使用 “rgb(25, 0, 0)”、"#ff0000"、"#ff" 或 “red”。
copy(color) 从提供的颜色对象复制颜色值到当前对象。
copyGammaToLinear(color)
通常在内部使用。

用 THREE.Color 提供的实例设置对象的颜色。颜色是由伽马色彩空间转换到线性色彩空间得来的。伽马色彩空间也使用 RGB 颜色,但是会使用指数系数而不是线性系数。

copyLinearToGamma(color)
通常在内部使用。

用 THREE.Color 提供的实例设置对象的颜色。颜色是由线性色彩空间转换到伽马色彩空间得来的。

convertGammaToLinear() 将当前颜色从伽马色彩空间转换到线性色彩空间。
convertLinearToGamma() 将当前颜色从线性色彩空间转换到伽马色彩空间。
getHex() 以十六进制值形式从颜色对象中获取颜色值:435241。
getHexString() 以十六进制字符串形式从颜色对象中获取颜色值:“0c0c0c”。
getStyle() 以 css 值的形式从颜色对象中获取颜色值:“rgb(112, 0, 0)”。
getHSL(optionalTarget) 以 HSL 值的形式从颜色对象中获取颜色值。如果提供了 optionTarget 对象, Three.js 将把 h、s 和 l 属性设置到该对象。
offsetHSL(h, s, l) 将提供的 h、s 和 l 值添加到当前颜色的 h、s 和 l 值上。
add(color) 将 r、g 和 b 值添加到当前颜色。
addColors(color1, color2)
通常在内部使用。

将 color1 和 color2 相加,再将得到的值设置到当前颜色。

addScalar(s)
通常在内部使用。

在当前颜色的 RGB 分量上添加值。谨记参数范围从 0 到 1。

multlply(color)
通常在内部使用。

将当前颜色的 RGB 值与 THREE.color 对象的 RGB 值相乘。

multiplyScalar(s)
通常在内部使用。

将当前颜色的 RGB 值与提供的 RGB 值相乘。谨记参数范围从 0 到 1。

lerp(color,alpha)
通常在内部使用。

找出介于对象的颜色和提供的颜色之间的颜色,alpha 属性定义了当前颜色与提供的颜色的差距。

equals(color) 如果 THREE.Color 对象实例提供的颜色的 RGB 值与当前颜色相等,则返回 true。
fromArray(array) 与 setRGB 方法具有相同的功能,只是 RGB 值可以通过数字数组的方式作为参数传入。
toArray 返回三个元素的数组:[r,g,b]。
clone() 复制当前颜色。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值