JavaFX颜色
要在JavaFX中使用颜色,我们需要有JavaFX Paint,Color,ImagePattern,LinearGradient和RadialGradient。 JavaFX Paint类是JavaFX Color,ImagePattern,LinearGradient和RadialGradient类的超类。 JavaFX颜色类都可以在JavaFX包javafx.scene.paint
中找到。这是JavaFX颜色类层次结构的外观:
- 油漆颜色
- 图像模式
- 线性渐变
- 径向渐变
以下各节将对这些类别和颜色效果中的每一个进行说明。
Paint
JavaFX Paint类是JavaFX Color,ImagePattern,LinearGradient和RadialGradient类的超类。我们可以直接使用Paint类从CSS颜色字符串创建Paint实例。有关CSS颜色的更多信息,请参见JavaFX CSS教程。这是一个使用Paint类的静态工厂方法创建JavaFX Paint实例的示例:
Paint paint = Paint.valueOf("blue");
颜色
JavaFX Color类表示纯色(均匀)。要创建JavaFX Color实例,请使用其构造函数。 JavaFX Color构造函数采用4个参数:
- 红色
- 绿色
- 蓝色
- Alpha透明度
红色,绿色和蓝色参数是最终颜色中使用的红色,绿色和蓝色色调的数量。 Alpha参数(也称为不透明度参数)指定最终颜色的不透明度。每个参数取一个介于0.0和1.0之间的值。
double red = 1.0; double green = 0.8; double blue = 0.6; double alpha = 1.0; Color color = new Color(red, green, blue, alpha);
JavaFX Color类还具有一组静态工厂方法,可以使用各种不同的参数创建Color实例。这些工厂方法显示在下面的JavaFX Color工厂方法示例中:
Color color1 = Color.web("#ff00ff"); Color color2 = Color.web("#ff00ff", 0.5); Color color3 = Color.rgb(255, 0, 255); Color color4 = Color.rgb(255, 0, 255, 0.5); Color color5 = Color.grayRgb(255); Color color6 = Color.grayRgb(255, 0.5); Color color7 = Color.hsb(1.0, 0.5, 0.8); Color color8 = Color.hsb(1.0, 0.5, 0.8, 0.5); Color color9 = Color.color(1.0, 0.0, 1.0); Color color10 = Color.color(1.0, 0.0, 1.0, 0.5);
如我们所见,每种方法都有两个版本。一个使用颜色值本身,另一个使用颜色值+ alpha值(不透明度)。
Color.web()
方法基于传统的Web颜色代码(同样在CSS Colors中使用)创建Color实例。
Color.rgb()方法根据红色,绿色和蓝色的颜色值创建一个Color实例。
Color.grayRgb()方法创建代表灰色的Color实例。红色,绿色和蓝色将设置为相同的值,从而产生灰色。
Color.hsb()方法基于色相,饱和度和亮度(HSB)创建一个Color实例。有时也称为HSL色相,饱和度和亮度(而不是HSB)。
Color.color()方法创建颜色的方式与标准Color构造器的方式类似。