JavaFX - efekty
Efekt to każda czynność poprawiająca wygląd grafiki. W JavaFX efekt to algorytm stosowany na węzłach w celu wizualnego ulepszenia ich wyglądu. Właściwość efektuNode klasa służy do określenia efektu.
W JavaFX można ustawić różne efekty dla węzła, takie jak bloom, blur i glow. Każdy z tych efektów jest reprezentowany przez klasę, a wszystkie te klasy są dostępne w pakiecie o nazwiejavafx.scene.effect.
Stosowanie efektów do węzła
Możesz zastosować efekt do węzła za pomocą setEffect()metoda. Do tej metody musisz przekazać obiekt efektu.
Aby zastosować efekt do węzła, musisz:
Utwórz węzeł.
Utwórz wystąpienie odpowiedniej klasy efektu, który ma zostać zastosowany.
Ustaw właściwości efektu.
Zastosuj efekt do węzła za pomocą setEffect() metoda.
Tworzenie węzłów
Przede wszystkim utwórz węzły w aplikacji JavaFX, tworząc instancje ich odpowiednich klas.
Na przykład, jeśli chcesz zastosować efekt blasku do obrazu w aplikacji. Po pierwsze, musisz utworzyć węzeł obrazu, tworząc instancję klasy Image i ustawiając jej widok, jak pokazano poniżej.
//Creating an image
Image image = new Image("https://www.tutorialspoint.com/green/images/logo.png");
//Setting the image view
ImageView imageView = new ImageView(image);
//Setting the position of the image
imageView.setX(100);
imageView.setY(70);
//setting the fit height and width of the image view
imageView.setFitHeight(200);
imageView.setFitWidth(400);
//Setting the preserve ratio of the image view
imageView.setPreserveRatio(true);
Tworzenie wystąpienia odpowiedniej klasy
Utwórz wystąpienie klasy reprezentującej efekt, który należy zastosować do utworzonego węzła.
Na przykład - aby zastosować efekt blasku, musisz utworzyć wystąpienie Glow klasa, jak pokazano w poniższym polu kodowym -
Glow glow = new Glow();
Ustawianie właściwości efektu
Po utworzeniu instancji klasy należy ustawić właściwości efektu za pomocą jego metod ustawiających.
Na przykład - Aby narysować trójwymiarowe pudełko, musisz podać jego szerokość, wysokość i głębokość. Możesz określić te wartości, używając odpowiednich metod ustawiających, jak pokazano poniżej -
//setting the level property
glow.setLevel(0.9);
Dodawanie efektu do Node
Na koniec możesz zastosować wymagany efekt do węzła za pomocą setEffect()metoda. Na przykład: Aby ustawić efekt blasku w węźle obrazu, musisz przekazać obiekt klasy Glow do tej metody w następujący sposób -
imageView.setEffect(glow);
JavaFX Effects- Poniższa tabela zawiera listę różnych efektów (klas) udostępnianych przez JavaFX. Te klasy istnieją w pakiecie o nazwiejavafx.scene.effect.
S.Nr | Kształt i opis |
---|---|
1 | Regulacja koloru Możesz dostosować kolor obrazu, stosując do niego efekt dopasowania koloru. Obejmuje to dostosowaniehue, saturation, brightness i contrast na każdym pikselu Klasa o nazwie ColorAdjust pakietu javafx.scene.effect reprezentuje efekt dopasowania koloru. |
2 | Wejście koloru Efekt wejścia koloru daje taki sam wynik, jak rysowanie prostokąta i wypełnianie go kolorem. W przeciwieństwie do innych efektów, jeśli ten efekt zostanie zastosowany do dowolnego węzła, wyświetli tylko prostokątne pole (nie węzeł). Ten efekt jest najczęściej używany jako wejście dla innych efektów. Klasa o nazwie ColorInput pakietu javafx.scene.effect reprezentuje efekt wejścia koloru. |
3 | Wejście obrazu Efekt wejścia obrazu w JavaFX po prostu osadza obraz na ekranie JavaFX. Podobnie jak efekt wejścia koloru (służy do przekazania określonego koloru, prostokątnego obszaru jako danych wejściowych do innego efektu), efekt wejścia obrazu służy do przekazania określonego obrazu jako wejścia do innego efektu. Klasa o nazwie ImageInput pakietu javafx.scene.effect reprezentuje efekt wejścia obrazu. |
4 | Mieszanka Ogólnie rzecz biorąc, mieszanka oznacza mieszaninę dwóch lub więcej różnych rzeczy lub substancji. Jeśli zastosujemy ten efekt mieszania, zajmie on piksele z dwóch różnych wejść, w tym samym miejscu i utworzy połączone dane wyjściowe na podstawieblend mode. Klasa o nazwie Blend pakietu javafx.scene.effect reprezentuje efekt mieszania. |
5 | Kwiat Po zastosowaniu efektu poświaty piksele w niektórych częściach węzła będą świecić. Klasa o nazwie Bloom pakietu javafx.scene.effect reprezentuje efekt kwitnienia. |
6 | Poświata Podobnie jak poświata, efekt Glow sprawia, że podany obraz wejściowy świeci, efekt ten rozjaśnia jasne piksele wejścia. Klasa o nazwie Glow pakietu javafx.scene.effect reprezentuje efekt blasku. |
7 | Rozmycie pudełkowe Po zastosowaniu tego efektu rozmycia do węzła staje się on niejasny. Rozmycie pudełkowe to rodzaj efektu rozmycia zapewnianego przez JavaFX. W tym efekcie, gdy zastosujemy rozmycie do węzła, używany jest prosty filtr pudełkowy. Klasa o nazwie BoxBlur pakietu javafx.scene.effect reprezentuje efekt rozmycia pudełka. |
8 | Rozmycie Gaussa Podobnie jak Box Blur Gaussian jest efektem rozmycia węzłów w JavaFX. Jedyna różnica wGaussian Blur effect polega na tym, że jądro splotu Gaussa jest używane do uzyskania efektu rozmycia. Klasa o nazwie GaussianBlur pakietu javafx.scene.effect reprezentuje efekt rozmycia gaussowskiego. |
9 | Rozmycie w ruchu Podobnie jak efekty Gaussa, rozmycie ruchu jest efektem rozmycia węzłów w JavaFX. Wykorzystuje również jądro splotu Gaussa, aby uzyskać efekt rozmycia, ale różnica polega na tym, że jądro splotu Gaussa jest używane pod określonym kątem. Klasa o nazwie MotionBlur pakietu javafx.scene.effect reprezentuje efekt rozmycia ruchu. |
10 | Odbicie Po zastosowaniu efektu odbicia do węzła w JavaFX, jego odbicie jest dodawane na dole węzła. Klasa o nazwie Reflection pakietu javafx.scene.effect reprezentuje efekt odbicia. |
11 | SepiaTone Po zastosowaniu efektu tonu Sepia do węzła w JavaFX (ogólnie obraz), jest on stonowany czerwono-brązowym kolorem. Klasa o nazwie SepiaTone pakietu javafx.scene.effect reprezentuje efekt odcienia sepii. |
12 | Cień Ten efekt tworzy duplikat określonego węzła z rozmytymi krawędziami. Klasa o nazwie Shadow pakietu javafx.scene.effect reprezentuje efekt odcienia sepii. |
13 | DropShadow Po zastosowaniu tego efektu do węzła za określonym węzłem zostanie utworzony cień. Klasa o nazwie DropShadow pakietu javafx.scene.effect reprezentuje efekt cienia. |
14 | Wewnętrzny cień Po zastosowaniu tego efektu do węzła, cień zostanie utworzony wewnątrz krawędzi węzła. Klasa o nazwie InnerShadow pakietu javafx.scene.effect reprezentuje efekt wewnętrznego cienia. |
15 | Oświetlenie Efekt świetlny służy do symulacji światła ze źródła światła. Istnieją różne rodzaje źródeł światłapoint, distant i spot. Klasa o nazwie Lighting pakietu javafx.scene.effect reprezentuje efekt oświetlenia. |
16 | Lekki, odległy Po zastosowaniu tego efektu do węzła, symuluje się na nim światło, tak jakby było generowane przez odległe źródło światła. Distant Light Source- Źródło, które znajduje się w dużej odległości od węzła. Tutaj światło jest osłabiane w jednym kierunku od źródła. Klasa o nazwie Light.Distant pakietu javafx.scene.effect reprezentuje odległe źródło światła. |
17 | Swiatlo Po zastosowaniu tego efektu do węzła, symuluje się na nim światło, tak jakby było generowane przez światło punktowe. Spot light Source- Światło z tego źródła osłabia się we wszystkich kierunkach. Intensywność światła zależy od odległości obiektu od źródła. Klasa o nazwie Light.Spot pakietu javafx.scene.effect reprezentuje odległe źródło światła. |
18 | Point.Spot Po zastosowaniu tego efektu do węzła, symuluje się na nim światło, tak jakby było generowane przez punktowe źródło światła. Point Light Source- Światło z tego źródła osłabia się we wszystkich kierunkach z jednego punktu. Intensywność światła zależy od odległości obiektu od źródła. Klasa o nazwie Point.Spot pakietu javafx.scene.effect reprezentuje światło punktowe. |