JavaFX 颜色

2024 年 8 月 29 日 | 阅读 3 分钟

在 JavaFX 中,我们可以用颜色填充形状。我们可以使用几种方法创建自己的颜色,并将该颜色作为 Paint 对象传递给 setFill() 方法。让我们讨论在 JavaFX 中创建颜色的几种方法。

RGB 颜色

RGB 颜色系统是图形中创建颜色的最流行的方法。它由三个组件组成,命名为 RED → R,GREEN → G 和 BLUE → B。每个组件使用 8 位,这意味着每个组件可以具有从 0 到 2^8 - 1=255 的整数值。

计算机屏幕可以看作像素的集合。集合 (R,G,B) 实际上代表屏幕上其各自 LED 的发射。

如果将 RED 的值设置为 0,则表示红色 LED 已关闭,而值 255 表示 LED 的完全发射。组合 (0,0,0) 代表黑色,而 (255,255,255) 代表白色。该范围内的中间值可以代表不同的颜色。

使用 RGB 的叠加,我们可以表示 255*255*255 种不同的颜色。在 JavaFX 中,类 javafx.scene.paint.Color 类代表颜色。

有一个名为 rgb() 的 Color 类的静态方法。它接受三个整数参数作为红色、绿色、蓝色和一个可选的双精度参数,称为 alpha。alpha 的值与颜色的不透明度成正比。alpha 值为 0 表示该颜色完全透明,而值 1 表示该颜色完全不透明。

示例


JavaFX Color Output1

颜色名称

在 JavaFX 中,我们还可以通过颜色名称来创建颜色。类 javafx.scene.paint.Color 包含所有颜色作为类属性。需要将 Color 属性作为 Paint 类对象传递给 setFill() 方法。

示例


JavaFX Circle Output2

HSB 颜色

除了我们目前已经看到的方法之外,JavaFX 还可以让我们使用 HSB(即色相、饱和度和亮度)的组合来创建颜色。javafx.scene.paint.Color 包含一个静态方法 Color.hsb(),它接受三个整数 h、s 和 b。

示例

以下示例实现 Color.hsb() 方法以填充舞台。


JavaFX Color Output3

Web 颜色

javafx.scene.paint.color 类使我们能够使用 Color.web() 方法创建 Web 颜色。这最多可以接受两个参数,其中一个参数是颜色的十六进制值,另一个参数是可选参数,称为 alpha 通道,它表示颜色的不透明度。

Color.web("#0000FF") // 蓝色,隐式 alpha

Color.web("#0000FF",1) // 蓝色,显式 alpha

Alpha 是一个双精度类型的值,可以保持 0.0 到 1.0 范围内的值。

示例


JavaFX Color Output4
下一主题JavaFX 渐变色