颜色(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] 数组。

源代码

src/math/Color.js

three.js 颜色color的几种设置方式相关推荐

  1. 【温故知新】——原生js中常用的四种循环方式

    一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0   网页输出"欢迎下次光临" 在网页中弹出框输入1   网页输 ...

  2. AutoLayout的三种设置方式之——NSLayoutConstraint代码篇

    本文转载至 http://www.cnblogs.com/madpanda/p/4311980.html AutoLayout是从IOS 6开始苹果引入来取代autoresizing的新的布局技术,该 ...

  3. js中数组的几种循环方式

    js中数组的几种循环方式 for循环最基本的循环方式,不多说.这种最基本的循环才是速度最快的,效率最高的. for(var i = 0;i<5;i++){console.log(i) } for ...

  4. php安卓苹果打开自动分开,苹果、安卓手机投屏不掉线的两种设置方式

    苹果.安卓手机投屏不掉线的两种设置方式 有用户反馈:"通过你们[AWIND奇机]的无线投屏器,手机投屏的时候,过几分钟就掉线." 经过微信视频,我们发现是该用户的手机在5分钟之后就 ...

  5. halcon颜色识别的两种简单方式

    颜色识别的两种简单方式: 1.单通道方式: 原理:通过不同颜色在灰度图中的阈值范围不同来区分颜色(理论上这种方式不推荐,但在一定情况下适用) 材料: halcon代码: dev_close_windo ...

  6. js定义全局变量 vue页面_详解Vue.js 定义全局变量的几种实现方式

    详解Vue.js 定义全局变量的几种实现方式 发布于 2020-8-11| 复制链接 本篇文章主要介绍了VUE 全局变量的几种实现方式,小妖觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小妖 ...

  7. node.js Next框架的三种渲染方式:客户端渲染、SSG、SSR

    前言 next是一款用JS开发的全栈框架,它是基于express框架基础上开发而成,可以用react写客户端,node.js写服务端.一份代码可在前后端同时运行,这在next中称之为同构! 一些nex ...

  8. js常见的的6种继承方式

    继承是面向对象的,继承可以帮助我们更好的复用以前的代码,缩短开发周期,提高开发效率:继承也常用在前端工程技术库的底层搭建上,在整个js的学习中尤为重要 常见的继承方式有以下的六种 一.原型链继承 原型 ...

  9. JS中对象的四种继承方式:class继承、原型链继承、构造函数继承、组合继承(构造函数和原型链继承的结合)

    前言 才发现之前没有对JavaScript中的继承做过总结,不过看得到是不少,接下来就对这几种继承方式做一下总结. class继承 class继承是ES6引入的标准的继承方式. ES6引入了class ...

最新文章

  1. 根据痛点分析制作软件
  2. SQL SERVER 数据库 怎么从一个服务器一个表中把数据插入到另一个服务器中的一个表内(纯复制)...
  3. centos7中每天定时备份mysql数据库
  4. WinForm 窗体之间交互的一些方法-兼托管事件
  5. Microsoft Desktop Virtualization
  6. 关于在用异步消息处理机制使用Message.Obtain()方法(而非New Message)获得一个Message对象的好处
  7. 对于0基础来说,Python 中有哪些难以理解的概念?我似乎明白了
  8. Ubuntu下安装Nginx服务器并进行优化
  9. jQuery操作元素内容的相关方法
  10. 300多个城市加入信用城市建设,信用时代已来!
  11. excel文件工作表保护没有密码进行撤销
  12. Android本地音乐播放器的制作
  13. 液晶面板的表面缺陷及其检测方法
  14. 花式方法解决不同vlan的主机互通
  15. 大作都是怎么诞生的,游戏开发全过程揭秘 !零基础小白入门须知
  16. jzojNOIP2014模拟 8.14总结
  17. 抖音电商的带货情况究竟如何,抖音电商带货前景如何
  18. GlobalSign和DigiCert对比
  19. 编写程序描述影视歌三栖艺人
  20. Machine Learning in Action 读书笔记---第3章 决策树

热门文章

  1. Jmeter分布式压力测试与优化
  2. 学药剂师好还是计算机好,我想当药剂师,报哪个专业好?
  3. java都市男人心痒痒_说的男人心痒痒的情话,打动男人的心话十句话
  4. Python 数据分析微专业课程--项目05 多场景下的图表可视化表达
  5. 使用jenkins自动化构建测试打包apk
  6. SQL Server 实验七 数据完整性及数据库程序设计
  7. 数据结构(C语言)第二版 第五章课后答案
  8. Linux---基础指令(一)
  9. Unity设置文件的默认打开方式
  10. 大数据风控,互联网有盾可依