File: Color.html

package info (click to toggle)
three.js 111%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 15,184 kB
  • sloc: javascript: 133,174; makefile: 24; sh: 1
file content (327 lines) | stat: -rw-r--r-- 12,086 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="list.js"></script>
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>颜色([name])</h1>

		<p class="desc">
		表示一个颜色。
		</p>


		<h2>示例(Examples)</h2>
		颜色可以用以下任意一种方式初始化。
		<code>
//empty constructor - will default white
var color = new THREE.Color();

//Hexadecimal color (recommended)
var color = new THREE.Color( 0xff0000 );

//RGB string
var color = new THREE.Color("rgb(255, 0, 0)");
var color = new THREE.Color("rgb(100%, 0%, 0%)");

//X11 color name - all 140 color names are supported.
//Note the lack of CamelCase in the name
var color = new THREE.Color( 'skyblue' );

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

//Separate RGB values between 0 and 1
var color = new THREE.Color( 1, 0, 0 );
		</code>



		<h2>构造器(Constructor)</h2>


		<h3>[name]( [param:Color_Hex_or_String r], [param:Float g], [param:Float b] )</h3>
		<p>
		[page:Color_Hex_or_String r] - (可选参数)  如果参数g和b被定义,则r表示颜色中的红色分量。
		如果未被定义,r可以是一个十六进制 [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet hexadecimal triplet] 颜色值或CSS样式的字符串或一个Color实例。<br />
		[page:Float g] - (可选参数) 如果被定义,表示颜色中的绿色分量。<br />
		[page:Float b] - (可选参数) 如果被定义,表示颜色中的蓝色分量。<br /><br />

		注意使用十六进制 [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet hexadecimal triplet] 定义一个颜色在three.js中是标准的方法,而且其余
		文档也将会使用这个方法。<br /><br />

		当所有参数被定义时,r是红色分量,g是绿色分量,b是蓝色分量。<br />
		当只有 [page:Color_Hex_or_String r] 被定义时:<br />
		<ul>
			<li>它可用一个十六进制 [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet hexadecimal triplet] 值表示颜色(推荐)。</li>
			<li>它可以是一个另一个颜色实例。</li>
			<li>它可以是另外一个CSS样式。例如:
				<ul>
					<li>'rgb(250, 0,0)'</li>
					<li>'rgb(100%,0%,0%)'</li>
					<li>'hsl(0, 100%, 50%)'</li>
					<li>'#ff0000'</li>
					<li>'#f00'</li>
					<li>'red'</li>
				</ul>

			</li>
		</ul>
		</p>

		<h2>属性(Properties)</h2>

		<h3>[property:Boolean isColor]</h3>
		<p>
			用来检测此类或者派生类是否为颜色。默认值是 *true*。<br /><br />

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

		<h3>[property:Float r]</h3>
		<p>
			红色通道的值在0到1之间。默认值为1。
		</p>

		<h3>[property:Float g]</h3>
		<p>
			绿色通道的值在0到1之间。默认值为1。
		</p>

		<h3>[property:Float b]</h3>
		<p>
			蓝色通道的值在0到1之间。默认值为1。
		</p>






		<h2>方法(Methods)</h2>

		<h3>[method:Color add]( [param:Color color] ) </h3>
		<p>将给定颜色的RGB值添加到此颜色的RGB值。</p>

		<h3>[method:Color addColors]( [param:Color color1], [param:Color color2] ) </h3>
		<p>将此颜色的RGB值设置为 [page:Color color1] 和 [page:Color color2] 的RGB值之和。</p>

		<h3>[method:Color addScalar]( [param:Number s] ) </h3>
		<p>给现有的RGB值都加上 [page:Number s] 。</p>

		<h3>[method:Color clone]() </h3>
		<p>返回一个与当前颜色的 [page:.r r], [page:.g g] 和 [page:.b b] 相同的颜色。</p>

		<h3>[method:Color copy]( [param:Color color] ) </h3>
		<p>
			从 [page:Color color] 中拷贝 [page:.r r], [page:.g g] 和 [page:.b b] 值到当前的颜色。
		</p>

		<h3>[method:Color convertGammaToLinear]( [param:Float gammaFactor] ) </h3>
		<p>
		[page:Float gammaFactor] - (可选参数). 默认值 *2.0*.<br /><br />
		通过取颜色 [page:.r r], [page:.g g] and [page:.b b] 的 [page:Float gammaFactor] 次方将颜色从伽马空间转换成线性空间。
		</p>
		
		<h3>[method:Color convertLinearToGamma]( [param:Float gammaFactor] ) </h3>
		<p>
		[page:Float gammaFactor] - (可选参数). 默认值 *2.0*.<br /><br />
		通过取颜色 [page:.r r], [page:.g g] and [page:.b b] 的 1/[page:Float gammaFactor] 次方将颜色从线性空间转换成伽马空间。
		</p>

		<h3>[method:Color convertLinearToSRGB]() </h3>
		<p>
			将此颜色从线性空间转换成sRGB空间。
		</p>

		<h3>[method:Color convertSRGBToLinear]() </h3>
		<p>
			将此颜色从sRGB空间转换成线性空间。
		</p>

		<h3>[method:Color copyGammaToLinear]( [param:Color color], [param:Float gammaFactor] ) </h3>
		<p>
		[page:Color color] — 需要拷贝的颜色。<br />
		[page:Float gammaFactor] - (可选参数). 默认值为 *2.0*.<br /><br />

		将传入的 [param:Color color] 从伽马空间转换到线性空间然后复制给当前颜色。
		</p>

		<h3>[method:Color copyLinearToGamma]( [param:Color color], [param:Float gammaFactor] ) </h3>
		<p>
		[page:Color color] — 需要拷贝的颜色。<br />
		[page:Float gammaFactor] - (可选参数). 默认值为 *2.0*.<br /><br />

		将传入的 [param:Color color] 从线性空间转换到伽马空间然后复制给当前颜色。
		</p>

		<h3>[method:Color copyLinearToSRGB]( [param:Color color]] ) </h3>
		<p>
		[page:Color color] — 需要拷贝的颜色。<br />

		将传入的 [param:Color color] 拷贝给当前颜色,然后将当前颜色从线性空间转换到sRGB空间。
		</p>

		<h3>[method:Color copySRGBToLinear]( [param:Color color] ) </h3>
		<p>
		[page:Color color] — 需要拷贝的颜色。<br />

		将传入的 [param:Color color] 拷贝给当前颜色,然后将当前颜色从sRGB空间转换到线性空间。
		</p>

		<h3>[method:Boolean equals]( [param:Color color] ) </h3>
		<p>将 [param:Color color] 的RGB值与该对象的RGB值进行比较。如果它们都是相同的,返回true,否则返回false。</p>

		<h3>[method:Color fromArray]( [param:Array array], [param:Integer offset] ) </h3>
		<p>
		[page:Array array] - 格式为 [ [page:Float r], [page:Float g], [page:Float b] ] 的数组 [page:Array]。<br />
		[page:Integer offset] - 数组中可选偏移量<br /><br />

		从格式为[ [page:Float r], [page:Float g], [page:Float b] ]的数组数据中来创建Color对象。
		</p>

		<h3>[method:Integer getHex]()</h3>
		<p>返回此颜色的十六进制值。</p>

		<h3>[method:String getHexString]()</h3>
		<p>将此颜色的十六进制值作为字符串返回 (例如, 'FFFFFF')。</p>

		<h3>[method:Object getHSL]( [param:Object target] )</h3>
		<p>
			[page:Object target] — 结果将复制到这个对象中。向对象添加h、s和l键(如果不存在)。<br /><br />

			将此颜色的 [page:.r r], [page:.g g] 和 [page:.b b] 值转换为 [link:https://en.wikipedia.org/wiki/HSL_and_HSV HSL]格式,然后返回一个格式如下的对象:

			<code>
				{ h: 0, s: 0, l: 0 }
			</code>

		</p>

		<h3>[method:String getStyle]()</h3>
		<p>以CSS样式字符串的形式返回该颜色的值。例如:“rgb(255,0,0)”。</p>

		<h3>[method:Color lerp]( [param:Color color], [param:Float alpha] ) </h3>
		<p>
		[page:Color color] - 用于收敛的颜色。<br />
		[page:Float alpha] - 介于0到1的数字。<br /><br />

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

		<h3>[method:Color lerpHSL]( [param:Color color], [param:Float alpha] ) </h3>
		<p>
		[page:Color color] - 用于收敛的颜色。<br />
		[page:Float alpha] - 介于0到1的数字。<br /><br />

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

		<h3>[method:Color multiply]( [param:Color color] ) </h3>
		<p>将此颜色的RGB值乘以给定的[page: color color]的RGB值。</p>

		<h3>[method:Color multiplyScalar]( [param:Number s] ) </h3>
		<p>将此颜色的RGB值乘以给定的[page:Number s]的值。</p>

		<h3>[method:Color offsetHSL]( [param:Float h], [param:Float s], [param:Float l] ) </h3>
		<p>
			将给定的 [page:Float h], [page:Float s], 和 [page:Float l]值加到当前颜色值。
			内部的机制为:先将该颜色的 [page:.r r], [page:.g g] 和 [page:.b b] 值转换为HSL,然后与传入的[page:Float h], [page:Float s], 和 [page:Float l]
			相加,最后再将结果转成RGB值。
		</p>

		<h3>[method:Color set]( [param:Color_Hex_or_String value] ) </h3>
		<p>
		[page:Color_Hex_or_String value] - 用于设置该颜色的值。<br /><br />

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

		<h3>[method:Color setHex]( [param:Integer hex] ) </h3>
		<p>
		[page:Integer hex] — [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet hexadecimal triplet] 格式。<br /><br />

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

		</p>

		<h3>[method:Color setHSL]( [param:Float h], [param:Float s], [param:Float l] ) </h3>
		<p>
		[page:Float h] — 色相值处于0到1之间。hue value between 0.0 and 1.0 <br />
		[page:Float s] — 饱和度值处于0到1之间。<br />
		[page:Float l] — 亮度值处于0到1之间。<br /><br />

		采用HLS值设置此颜色。
		</p>

		<h3>[method:Color setRGB]( [param:Float r], [param:Float g], [param:Float b] ) </h3>
		<p>
		[page:Float r] — 红色通道的值在0到1之间。<br />
		[page:Float g] — 绿色通道的值在0到1之间。<br />
		[page:Float b] — 蓝色通道的值在0到1之间。<br /><br />

		采用RGB值设置此颜色。
		</p>

		<h3>[method:Color setScalar]( [param:Float scalar] ) </h3>
		<p>
		[page:Float scalar] — 处于0到1之间的值<br /><br />

		将颜色的RGB值都设为该 [page:Float scalar] 的值。
		</p>

		<h3>[method:Color setStyle]( [param:String style] ) </h3>
		<p>
		[page:String style] — 颜色css样式的字符串<br /><br />

		采用ccs样式的字符串设置此颜色。例如,
		"rgb(250, 0,0)",
		"rgb(100%, 0%, 0%)",
		"hsl(0, 100%, 50%)",
		"#ff0000",
		"#f00", 或者
		"red" ( 或者任何 [link:https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart X11 color name]
		- 所有140种颜色名称都支持 ).<br />

		半透明颜色例如 "rgba(255, 0, 0, 0.5)" and "hsla(0, 100%, 50%, 0.5)" 也能支持,
		但是alpha通道的值将会被丢弃。<br /><br />

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

		<h3>[method:Color setColorName]( [param:String style] ) </h3>
		<p>
		[page:String style] — color name ( from [link:https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart X11 color names] ).<br /><br />

		Sets this color from a color name. Faster than [page:.setStyle] method if you don't need the other CSS-style formats.<br/><br/>

		For convenience, the list of names is exposed in Color.NAMES as a hash: <code>Color.NAMES.aliceblue // returns 0xF0F8FF</code>
		</p>

		<h3>[method:Color sub]( [param:Color color] ) </h3>
		<p>
		从该颜色的RGB分量中减去传入颜色的RGB分量。如果分量结果是负,则该分量为零。
		</p>

		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] ) </h3>
		<p>
		[page:Array array] -  存储颜色的可选数组 <br />
		[page:Integer offset] - 数组的可选偏移量<br /><br />

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

		<h2>源码(Source)</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>