我一直在摆弄JavaFX和样式表,并试图想出一种方法来操纵图像。我知道CSS中有filter
,但JavaFX -fx呢?
我有以下内容:
.root {
-fx-background-image: url("background.jpg");
-fx-background-size: cover;
// -fx-filter: contrast(200%)
}
导入的是:
scene.getStylesheets().add(Class.class.getResource("style.css").toExternalForm());
有没有办法做到这一点,还是有更好的替代Java GUI和更多的控制?普通过滤器:对比度(200%)似乎不适用于JavaFX。
答案 0 :(得分:1)
实际上,我找到了一种没有CSS的方法。 JavaFX实际上具有可以使用的内置效果。例如,对于照明,您可以使用
import javafx.scene.effect.Light;
import javafx.scene.effect.Lighting;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.SimpleDoubleProperty;
然后:
Light.Distant light = new Light.Distant();
Lighting lighting = new Lighting(light);
lighting.setSurfaceScale(5.0);
设置方位角:
DoubleProperty azimuth = new SimpleDoubleProperty(0);
azimuth.bind(value);
从那里,您可以将它应用于任何对象:
light.setAzimuth(azimuth.get());
lighting.setLight(light);
sampletext.setEffect(lighting);
改变"值"方位角被绑定,它应该改变光照。