Three 颜色Color

构造器(Constructor)

Color( r : Color_Hex_or_String, g : Float, b : Float )

r - (可选参数) 如果参数g和b被定义,则r表示颜色中的红色分量。 如果未被定义,r可以是一个十六进制 hexadecimal triplet 颜色值或CSS样式的字符串或一个Color实例。
g - (可选参数) 如果被定义,表示颜色中的绿色分量。
b - (可选参数) 如果被定义,表示颜色中的蓝色分量。

注意使用十六进制 hexadecimal triplet 定义一个颜色在three.js中是标准的方法,而且其余 文档也将会使用这个方法。

当所有参数被定义时,r是红色分量,g是绿色分量,b是蓝色分量。

  • 它可用一个十六进制 hexadecimal triplet 值表示颜色(推荐)。
  • 它可以是一个另一个颜色实例。
  • 它可以是另外一个CSS样式。
  • 'rgb(250, 0,0)'
  • 'rgb(100%,0%,0%)'
  • 'hsl(0, 100%, 50%)'
  • '#ff0000'
  • '#f00'
  • 'red'
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( 'skyblue' ); 

var color = new THREE.Color("hsl(0, 100%, 50%)"); 

var color = new THREE.Color( 1, 0, 0 );`

属性(Properties)

# .isColor : Boolean

用来检测此类或者派生类是否为颜色。默认值是 true

不应该去改变这个值,因为它在内部用于优化。

# .r : Float

红色通道的值在0到1之间。默认值为1。

# .g : Float

绿色通道的值在0到1之间。默认值为1。

# .b : Float

蓝色通道的值在0到1之间。默认值为1。

方法(Methods)

# .add ( color : Color ) : Color

将给定颜色的RGB值添加到此颜色的RGB值。

# .addColors ( color1 : Color, color2 : Color ) : Color

将此颜色的RGB值设置为 color1 和 color2 的RGB值之和。

# .addScalar ( s : Number ) : Color

给现有的RGB值都加上 s 。

# .clone () : Color

返回一个与当前颜色的 r, g 和 b 相同的颜色。

# .copy ( color : Color ) : Color

从 color 中拷贝 r, g 和 b 值到当前的颜色。

# .convertGammaToLinear ( gammaFactor : Float ) : Color

gammaFactor - (可选参数). 默认值 2.0.

通过取颜色 r, g and b 的 gammaFactor 次方将颜色从伽马空间转换成线性空间。

# .convertLinearToGamma ( gammaFactor : Float ) : Color

gammaFactor - (可选参数). 默认值 2.0.

通过取颜色 r, g and b 的 1/gammaFactor 次方将颜色从线性空间转换成伽马空间。

# .convertLinearToSRGB () : Color

将此颜色从线性空间转换成sRGB空间。

# .convertSRGBToLinear () : Color

将此颜色从sRGB空间转换成线性空间。

# .copyGammaToLinear ( color : Color, gammaFactor : Float ) : Color

color — 需要拷贝的颜色。
gammaFactor - (可选参数). 默认值为 2.0.

将传入的 color : Color 从伽马空间转换到线性空间然后复制给当前颜色。

# .copyLinearToGamma ( color : Color, gammaFactor : Float ) : Color

color — 需要拷贝的颜色。
gammaFactor - (可选参数). 默认值为 2.0.

将传入的 color : Color 从线性空间转换到伽马空间然后复制给当前颜色。

# .copyLinearToSRGB ( color : Color] ) : Color

color — 需要拷贝的颜色。
将传入的 color : Color 拷贝给当前颜色,然后将当前颜色从线性空间转换到sRGB空间。

# .copySRGBToLinear ( color : Color ) : Color

color — 需要拷贝的颜色。
将传入的 color : Color 拷贝给当前颜色,然后将当前颜色从sRGB空间转换到线性空间。

# .equals ( color : Color ) : Boolean

将 color : Color 的RGB值与该对象的RGB值进行比较。如果它们都是相同的,返回true,否则返回false。

# .fromArray ( array : Array, offset : Integer ) : Color

array - 格式为 [ r, g, b ] 的数组 Array。
offset - 数组中可选偏移量

从格式为[ r, g, b ]的数组数据中来创建Color对象。

# .getHex () : Integer

返回此颜色的十六进制值。

# .getHexString () : String

将此颜色的十六进制值作为字符串返回 (例如, 'FFFFFF')。

# .getHSL ( target : Object ) : Object

target — 结果将复制到这个对象中。向对象添加h、s和l键(如果不存在)。

将此颜色的 r, g 和 b 值转换为 HSL格式,然后返回一个格式如下的对象: { h: 0, s: 0, l: 0 }

# .getStyle () : String

以CSS样式字符串的形式返回该颜色的值。例如:“rgb(255,0,0)”。

convertGammaToLinear() 将当前颜色从伽马色彩空间转换到线性色彩空间。
convertLinearToGamma() 将当前颜色从线性色彩空间转换到伽马色彩空间。
getHex() 以十六进制值形式从颜色对象中获取颜色值:334555。
getHexString() 以十六进制字符串形式从颜色对象中获取颜色值:“1d02cc”。
getStyle() 以 css 值的形式从颜色对象中获取颜色值:“rgb(2, 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)

# .lerp ( color : Color, alpha : Float ) : Color

color - 用于收敛的颜色。
alpha - 介于0到1的数字。

将该颜色的RGB值线性插值到传入参数的RGB值。alpha参数可以被认为是两种颜色之间的比例值,其中0是当前颜色和1.0是第一个参数的颜色。

# .lerpHSL ( color : Color, alpha : Float ) : Color

color - 用于收敛的颜色。
alpha - 介于0到1的数字。

将该颜色的HSL值线性插值到传递参数的HSL值。它不同于上诉的lerp。通过不直接从一种颜色插入到另一种颜色, 而是通过插值这两种颜色之间的所有色相(H)、亮度(L)、饱和度(S)。alpha参数可以被认为是两种颜色之间的比例值, 其中0是当前颜色和1.0是第一个参数的颜色。

# .multiply ( color : Color ) : Color

将此颜色的RGB值乘以给定的[page: color color]的RGB值。

# .multiplyScalar ( s : Number ) : Color

将此颜色的RGB值乘以给定的s的值。

# .offsetHSL ( h : Float, s : Float, l : Float ) : Color

将给定的 h, s, 和 l值加到当前颜色值。 内部的机制为:先将该颜色的 r, g 和 b 值转换为HSL,然后与传入的h, s, 和 l 相加,最后再将结果转成RGB值。

# .set ( value : Color_Hex_or_String ) : Color

value - 用于设置该颜色的值。

有关 value 的详细信息,请参阅上面的构造函数。 根据输入类型,将会委托给 .copy, .setStyle, 或者 .setHex 函数处理。

# .setHex ( hex : Integer ) : Color

hex — hexadecimal triplet 格式。

采用十六进制值设置此颜色。

# .setHSL ( h : Float, s : Float, l : Float ) : Color

h — 色相值处于0到1之间。hue value between 0.0 and 1.0
s — 饱和度值处于0到1之间。
l — 亮度值处于0到1之间。

采用HLS值设置此颜色。

# .setRGB ( r : Float, g : Float, b : Float ) : Color

r — 红色通道的值在0到1之间。
g — 绿色通道的值在0到1之间。
b — 蓝色通道的值在0到1之间。

采用RGB值设置此颜色。

# .setScalar ( scalar : Float ) : Color

scalar — 处于0到1之间的值

将颜色的RGB值都设为该 scalar 的值。

# .setStyle ( style : String ) : Color

style — 颜色css样式的字符串

采用ccs样式的字符串设置此颜色。例如, "rgb(250, 0,0)", "rgb(100%, 0%, 0%)", "hsl(0, 100%, 50%)", "#ff0000", "#f00", 或者 "red" ( 或者任何 X11 color name - 所有140种颜色名称都支持 ).
半透明颜色例如 "rgba(255, 0, 0, 0.5)" and "hsla(0, 100%, 50%, 0.5)" 也能支持, 但是alpha通道的值将会被丢弃。

注意,对于X11颜色名称,多个单词(如暗橙色)变成字符串“darkorange”(全部是小写字母)。

函数名 描述
set(value) 将当前颜色设置为指定的十六进制值。这个值可以是字符串、数值或是已有的 THREE.Color 实例。
setHex(value) 将当前颜色设置为指定的十六进制数字值。
setRGB(r,g,b) 根据提供的 RGB 值设置颜色。参数范围从 0 到 1。
setHSL(h,s,l) 根据提供的 HSL 值设置颜色。参数范围从 0 到 1, 例如:可以使用 “rgb(25, 0, 0)”、"#ff0000"、"#ff" 或 “red”。
copy(color) 从提供的颜色对象复制颜色值到当前对象。
copyGammaToLinear(color)

# .sub ( color : Color ) : Color

从该颜色的RGB分量中减去传入颜色的RGB分量。如果分量结果是负,则该分量为零。

# .toArray ( array : Array, offset : Integer ) : Array

array - 存储颜色的可选数组
offset - 数组的可选偏移量

返回一个格式为[ r, g, b ] 数组。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/774812.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM专题之性能优化

运行时优化 方法内联 > 方法内联,是指 **JVM在运行时将调用次数达到一定阈值的方法调用替换为方法体本身** ,从而消除调用成本,并为接下来进一步的代码性能优化提供基础,是JVM的一个重要优化手段之一。 > > **注:** > > * **C++的inline属于编译后内联,…

特殊用途二极管+二极管故障检测+三极管(BJT)的工作原理+定时器的使用(小灯定时闪烁实现)

2024-7-5,星期五,17:27,天气:晴,心情:晴。今天没有什么特殊的事情发生,继续学习啦,加油加油!!! 今日完成模电自选教材第二章内容的学习&#xff…

Linux-C语言实现一个进度条小项目

如何在linux中用C语言写一个项目来实现进度条?(如下图所示) 我们知道\r是回车,\n是换行(且会刷新) 我们可以用 \r 将光标移回行首,重新打印一样格式的内容,覆盖旧的内容,…

二重积分 - 包括计算方法和可视化

二重积分 - 包括计算方法和可视化 flyfish 计算在矩形区域 R [ 0 , 1 ] [ 0 , 2 ] R [0, 1] \times [0, 2] R[0,1][0,2] 下,函数 z 8 x 6 y z 8x 6y z8x6y 的二重积分。这相当于计算曲面 z 8 x 6 y z 8x 6y z8x6y 与 xy 平面之间的体积。 二重积分…

网页计算器的实现

简介 该项目实现了一个功能完备、交互友好的网页计算器应用。只使用了 HTML、CSS 和 JavaScript ,用于检验web前端基础水平。 开发环境:Visual Studio Code开发工具:HTML5、CSS3、JavaScript实现效果 功能设计和模块划分 显示模块&#…

Chapter11让画面动起来——Shader入门精要学习笔记

Chapter11让画面动起来 一、Unity Shader中的内置变量(时间篇)二、纹理动画1.序列帧动画2.滚动背景 三、顶点动画1.流动的河流2.广告牌3.注意事项①批处理问题②阴影投射问题 一、Unity Shader中的内置变量(时间篇) Unity Shader…

Chiasmodon:一款针对域名安全的公开资源情报OSINT工具

关于Chiasmodon Chiasmodon是一款针对域名安全的公开资源情报OSINT工具,该工具可以帮助广大研究人员从各种来源收集目标域名的相关信息,并根据域名、Google Play应用程序、电子邮件地址、IP地址、组织和URL等信息进行有针对性的数据收集。 该工具可以提…

window系统openssl开发环境搭建(VS2017)

window系统openssl开发环境搭建 VS2017 一、下载openssl二、安装openssl三、openssl项目配置3.1 配置include文件3.2 配置openssl动态库四、编写openssl测试代码五、问题总结5.1 问题 一5.2 问题二一、下载openssl https://slproweb.com/products/Win32OpenSSL.html 根据自己…

如何查看MCU编译生成的elf(out)文件内容

一般地,我们想要知道单片机程序编译完后的结构我们可以查看map文件或者是elf/out文件,map文件不能看函数的汇编格式,只能查看编译完成后变量、代码的地址和占用空间大小,而elf文件里面更加详细,还包含了函数的汇编&…

CobaltStrike的内网安全

1.上线机器的Beacon的常用命令 2.信息收集和网站克隆 3.钓鱼邮件 4.CS传递会话到MSF 5.MSF会话传递到CS 1上线机器的Beacon的常用命令 介绍:CobaltStrike分为服务端和客户端,一般我们将服务端放在kali,客户端可以在物理机上面&#xff0…

跨境人最怕的封店要怎么规避?

跨境人最怕的是什么?——封店 造成封店的原因很多,IP关联、无版权售卖、虚假发货等等,其中IP关联这个问题导致店铺被封在跨境商家中简直是屡见不鲜 IP关联,是指被海外平台检测到多家店铺开设在同一个站点上的情况。我们知道有些…

您的私人办公室!-----ONLYOFFICE8.1版本的桌面编辑器测评

随时随地创建并编辑文档,还可就其进行协作 ONLYOFFICE 文档是一款强大的在线编辑器,为您使用的平台提供文本文档、电子表格、演示文稿、表单和 PDF 编辑工具。 网页地址链接: https://www.onlyoffice.com/zh/office-suite.aspxhttps://www…

“拆分盘投资:机遇与风险并存

一、引言 随着互联网技术的日新月异,金融投资领域迎来了前所未有的变革,其中拆分盘作为一种新兴的投资模式,正逐渐进入公众的视野。其独特的价值增长逻辑和创新的投资机制,为投资者开辟了新的财富增值渠道。本文旨在深入探讨拆分…

tinyshop商城学习

1、使用badboy屏幕录制工具,获得服装购物业务的结果,生成.jmx文件 2、在JMeter中新建线程组,导入.jmx文件 3、完成进入商城,登录,服装页面进入,随机选择服装,添加购物车,开始结算&…

WAIC上官宣!大模型语料提取工具MinerU正式发布,开源免费“敲”好用

7月4日,2024 WAIC科学前沿全体会议在上海世博中心红厅隆重举行。上海人工智能实验室与商汤科技联合香港中文大学和复旦大学正式发布新一代大语言模型书⽣浦语2.5(InternLM2.5),同时全链条工具体系迎来重磅升级,对于大模…

第六篇——谋攻篇:上兵伐谋,不是说打仗要用计谋

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 战术层面的东西,即便战略对了,战术不对&#xff0…

公司管理系统

准备工作 上图mapper类型错了,不是class,是interface,修正过后的图片,如下所示 修正如下 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3306/webm spring.datasour…

CAN总线(上)

CAN总线(Controller Area Network Bus)控制器局域网总线 CAN总线是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线,广泛应用于汽车、嵌入式、工业控制等领域 CAN总线特征: 两根通信线(…

关于ORACLE单例数据库中的logfile的切换、删除以及添加

一、有关logfile的状态解释 UNUSED: 尚未记录change的空白group(一般会出现在loggroup刚刚被添加,或者刚刚使用了reset logs打开数据库,或者使用clear logfile后) CURRENT: 当前正在被LGWR使用的gro…

产科管理系统 专科电子病历系统源码,前后端分离架构,多家医院产科广泛运用,系统稳定,功能齐全

产科管理系统 专科电子病历系统源码,前后端分离架构,多家医院产科广泛运用,系统稳定,功能齐全 产科管理系统,特别是产科信息管理系统(Obstetrical Information Management System,简称OIMS&…