three.js 颜色color的几种设置方式
three.js 颜色color的几种设置方式
颜色(Color)
代表一个颜色。
例子
var color = new THREE.Color();
var color = new THREE.Color( 0xff0000 );
var color = new THREE.Color("rgb(255, 0, 0)");
var color = new THREE.Color("rgb(100%, 0%, 0%)");
var color = new THREE.Color("hsl(0, 100%, 50%)");
var color = new THREE.Color( 1, 0, 0 );
构造器(Constructor)
Color( r, g, b )
r - 如果参数g和b被定义,则r表示颜色中的红色分量。如果未被定义,r可以是一个十六进制颜色值或CSS样式的字符串或一个Color实例。
g - 如果被定义,则表示颜色中的绿色分量。
b - 如果被定义,则表示颜色中的蓝色分量。
所有参数都是可选的。默认颜色为白色。
当所有的参数都被定义,那么r是红色分量,g是绿色分量,b是蓝色分量。
当只有r被定义时:
- 它可以是一个十六进制的颜色。
- 它可以是一个另一个颜色实例。
- 它可以是另外一个CSS样式。例如:
- rgb(250, 0,0)
- rgb(100%,0%,0%)
- hsl(0, 100%, 50%)
- #ff0000
- #f00
- red
属性(Properties)
#.r
红色通道值在1和0之间。默认为1。
#.g
绿色通道值在1和0之间。默认为1。
#.b
蓝色通道值在1和0之间。默认为1。
方法(Methods)
#.set ( value ) this
value -- 或者是一个 Color 实例,一个 hexadecimal 值,或者一个css样式 string
根据输入类型把调用委托给.copy, .setStyle, 或 .setHex方法。
#.copy ( color ) this
color — 要拷贝的颜色。
拷贝给定的颜色。
#.fromArray ( array, offset ) this
array -- Array [r, g, b]
offset -- Integer 数组中的一个可选偏移量。
从格式为[r, g, b]的数组数据中来创建Color对象。
#.copyGammaToLinear ( color ) this
color — 要拷贝的颜色。
拷贝给定颜色完成从伽玛到线性空间的转换。
#.copyLinearToGamma ( color ) this
color — 要拷贝的颜色。
拷贝给定颜色完成从线性到伽玛空间的转换。
#.convertGammaToLinear () this
将此颜色从伽玛转换为线性空间。
#.convertLinearToGamma () this
将此颜色转换为线性到伽玛空间。
#.setRGB ( r, g, b ) this
r — 红色通道值在1和0之间。
g — 绿色通道值在1和0之间。
b — 蓝色通道值在1和0之间。
设置颜色的RGB值。
#.getHex ()
返回该颜色的十六进制值。
#.getHexString ()
返回字符串格式的十六进制值颜色。
#.setHex ( hex ) this
hex — 颜色的十六进制。
以一个十六进制值设置颜色。
#.setStyle ( style ) this
style — 代表颜色的CSS样式字符串。
以一个CSS样式字符串来设置颜色。比如:"rgb(250, 0,0)", "rgb(100%, 0%, 0%)", "hsl(0, 100%, 50%)", "#ff0000", "#f00", 或者 "red"。也可以使用透明色如 "rgba(255, 0, 0, 0.5)" and "hsla(0, 100%, 50%, 0.5)",但是alpha通道会被忽略。
#.getStyle ()
返回一个CSS样式字符串格式的颜色值。比如:rgb(255,0,0)。
#.setHSL ( h, s, l ) this
h — 色调值在0.0和1.0之间
s — 饱和值在0.0和1.0之间
l — 亮度值在0.0和1.0之间。
使用HSL设置颜色。
#.getHSL () hsl
返回一个属性为h、s和l的对象。
#.offsetHSL ( h, s, l ) this
添加给定的HSL到这个颜色的现有的HSL值。
#.add ( color ) this
添加给定的RGB到这个颜色的现有的RGB值。
#.addColors ( color1, color2 ) this
设置颜色为color1和color2之和。
#.addScalar ( s ) this
给现有的rgb颜色加上数值s。
#.multiply ( color ) this
两个rbg颜色相乘。
#.multiplyScalar ( s ) this
把现有的rgb颜色乘以数值s。
#.lerp ( color, alpha ) this
alpha -- 一个介于0到1之间的数字。
第一个参数rgb值和该Color的rgb值之间的线性插值。我们可以把alpha参数看作是一个位于两个Color之间的百分比值,0表示该Color,而1表示第一个参数Color。
#.equals ( c ) this
将此颜色和c进行比较,如果它们是相同的,则返回为真,否则为假。
#.clone () this
克隆这种颜色。
#.toArray ( array, offset ) this
array -- 把Color对象转换为一个数组数据。
offset -- 数组中的一个可选偏移量。
返回一个 [r,g,b] 数组。
源代码
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)