JavaFX-효과
효과는 그래픽의 모양을 향상시키는 모든 동작입니다. JavaFX에서 효과는 시각적으로 모양을 향상시키기 위해 노드에 적용되는 알고리즘입니다. 효과 속성Node 클래스는 효과를 지정하는 데 사용됩니다.
JavaFX에서는 다음과 같은 노드에 다양한 효과를 설정할 수 있습니다. bloom, blur 과 glow. 이러한 각 효과는 클래스로 표시되며 이러한 모든 클래스는javafx.scene.effect.
노드에 효과 적용
다음을 사용하여 노드에 효과를 적용 할 수 있습니다. setEffect()방법. 이 방법을 사용하려면 효과의 개체를 전달해야합니다.
노드에 효과를 적용하려면 다음을 수행해야합니다.
노드를 만듭니다.
적용해야하는 효과의 각 클래스를 인스턴스화합니다.
효과의 속성을 설정합니다.
다음을 사용하여 노드에 효과를 적용합니다. setEffect() 방법.
노드 생성
우선, 각각의 클래스를 인스턴스화하여 JavaFX 응용 프로그램에서 노드를 만듭니다.
예를 들어 응용 프로그램의 이미지에 광선 효과를 적용하려는 경우입니다. 먼저 Image 클래스를 인스턴스화하여 이미지 노드를 만들고 아래와 같이 뷰를 설정해야합니다.
//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);
각 클래스 인스턴스화
생성 된 노드에 적용해야하는 효과를 나타내는 클래스를 인스턴스화합니다.
예 : 글로우 효과를 적용하려면 다음을 인스턴스화해야합니다. Glow 다음 코드 상자에 표시된 클래스-
Glow glow = new Glow();
효과의 속성 설정
클래스를 인스턴스화 한 후에는 setter 메서드를 사용하여 효과에 대한 속성을 설정해야합니다.
예 : 3 차원 상자를 그리려면 너비, 높이 및 깊이를 전달해야합니다. 아래와 같이 각각의 setter 메서드를 사용하여 이러한 값을 지정할 수 있습니다.
//setting the level property
glow.setLevel(0.9);
노드에 효과 추가
마지막으로 다음을 사용하여 필요한 효과를 노드에 적용 할 수 있습니다. setEffect()방법. 예 : 이미지 노드에 글로우 효과를 설정하려면 다음과 같이 Glow 클래스의 객체를이 메서드에 전달해야합니다.
imageView.setEffect(glow);
JavaFX Effects− 다음 표는 JavaFX에서 제공하는 다양한 효과 (클래스) 목록을 제공합니다. 이러한 클래스는 다음과 같은 패키지에 있습니다.javafx.scene.effect.
S. 아니 | 모양 및 설명 |
---|---|
1 | 색상 조정 색상 조정 효과를 적용하여 이미지의 색상을 조정할 수 있습니다. 여기에는 조정이 포함됩니다.hue, saturation, brightness 과 contrast 각 픽셀에 명명 된 클래스 ColorAdjust 패키지의 javafx.scene.effect 색상 조정 효과를 나타냅니다. |
2 | 색상 입력 색상 입력 효과는 직사각형을 그리고 색상으로 채우는 것과 동일한 출력을 제공합니다. 다른 효과와 달리이 효과를 노드에 적용하면 노드가 아닌 사각형 상자 만 표시됩니다. 이 효과는 주로 다른 효과의 입력으로 전달하는 데 사용됩니다. 명명 된 클래스 ColorInput 패키지의 javafx.scene.effect 색상 입력 효과를 나타냅니다. |
삼 | 이미지 입력 JavaFX의 이미지 입력 효과는 JavaFX 화면에 이미지를 포함합니다. 색상 입력 효과 (지정된 색상 사각형 영역을 다른 효과에 대한 입력으로 전달하는 데 사용됨)와 마찬가지로 이미지 입력 효과는 지정된 이미지를 다른 효과에 대한 입력으로 전달하는 데 사용됩니다. 명명 된 클래스 ImageInput 패키지의 javafx.scene.effect 이미지 입력 효과를 나타냅니다. |
4 | 혼합 일반적으로 블렌드는 둘 이상의 다른 사물이나 물질의 혼합물을 의미합니다. 이 블렌드 효과를 적용하면 동일한 위치에있는 두 개의 서로 다른 입력 픽셀을 가져와blend mode. 명명 된 클래스 Blend 패키지의 javafx.scene.effect 혼합 효과를 나타냅니다. |
5 | 꽃 블룸 효과를 적용하면 노드의 일부 부분에있는 픽셀이 빛나게됩니다. 명명 된 클래스 Bloom 패키지의 javafx.scene.effect 블룸 효과를 나타냅니다. |
6 | 불타는 듯한 빛깔 블룸처럼 글로우 효과는 주어진 입력 이미지를 빛나게하고,이 효과는 입력의 밝은 픽셀을 더 밝게 만듭니다. 명명 된 클래스 Glow 패키지의 javafx.scene.effect 글로우 효과를 나타냅니다. |
7 | 박스 블러 이 흐림 효과를 노드에 적용하면 명확하지 않습니다. Box blur는 JavaFX에서 제공하는 일종의 흐림 효과입니다. 이 효과에서 노드에 블러를 적용 할 때 간단한 상자 필터가 사용됩니다. 명명 된 클래스 BoxBlur 패키지의 javafx.scene.effect boxblur 효과를 나타냅니다. |
8 | 가우스 흐림 Box Blur Gaussian이 JavaFX에서 노드를 흐리게하는 효과와 마찬가지로. 유일한 차이점은Gaussian Blur effect 블러 링 효과를 생성하기 위해 가우스 컨볼 루션 커널이 사용된다는 것입니다. 패키지의 GaussianBlur라는 클래스 javafx.scene.effect 가우시안 블러 효과를 나타냅니다. |
9 | MotionBlur Gaussian Effects와 마찬가지로 Motion Blur는 JavaFX에서 노드를 흐리게하는 효과입니다. 또한 가우시안 컨볼 루션 커널을 사용하여 블러 효과를 생성하지만이 효과에서 차이는 가우스 컨볼 루션 커널이 지정된 각도로 사용된다는 것입니다. 명명 된 클래스 MotionBlur 패키지의 javafx.scene.effect 모션 블러 효과를 나타냅니다. |
10 | 반사 JavaFX의 노드에 리플렉션 효과를 적용하면 노드 하단에 리플렉션 효과가 추가됩니다. 명명 된 클래스 Reflection 패키지의 javafx.scene.effect 반사 효과를 나타냅니다. |
11 | 세피아 톤 JavaFX (일반 이미지)의 노드에 세피아 톤 효과를 적용하면 적갈색으로 톤이 나타납니다. 명명 된 클래스 SepiaTone 패키지의 javafx.scene.effect 세피아 톤 효과를 나타냅니다. |
12 | 그림자 이 효과는 가장자리가 흐릿한 지정된 노드의 복제본을 만듭니다. 명명 된 클래스 Shadow 패키지의 javafx.scene.effect 세피아 톤 효과를 나타냅니다. |
13 | 그림자 이 효과를 노드에 적용하면 지정된 노드 뒤에 그림자가 생성됩니다. 명명 된 클래스 DropShadow 패키지의 javafx.scene.effect 그림자 효과를 나타냅니다. |
14 | 내부 그림자 이 효과를 노드에 적용하면 노드 가장자리 내부에 그림자가 생성됩니다. 명명 된 클래스 InnerShadow 패키지의 javafx.scene.effect 내부 그림자 효과를 나타냅니다. |
15 | 조명 조명 효과는 광원에서 나오는 빛을 시뮬레이션하는 데 사용됩니다. 다른 종류의 광원이 있습니다.point, distant 과 spot. 명명 된 클래스 Lighting 패키지의 javafx.scene.effect 조명 효과를 나타냅니다. |
16 | 빛. 먼 이 효과를 노드에 적용하면 마치 멀리있는 광원에서 생성되는 것처럼 광원이 노드에 시뮬레이션됩니다. Distant Light Source− 노드에서 멀리 떨어진 소스. 여기에서 빛은 광원에서 한 방향으로 감쇠됩니다. 명명 된 클래스 Light.Distant 패키지의 javafx.scene.effect 먼 광원을 나타냅니다. |
17 | Light.Spot 이 효과를 노드에 적용하면 스포트 라이트에 의해 생성되는 것처럼 라이트가 시뮬레이션됩니다. Spot light Source−이 광원의 빛은 모든 방향에서 감쇠됩니다. 빛의 강도는 광원에서 물체까지의 거리에 따라 다릅니다. 명명 된 클래스 Light.Spot 패키지의 javafx.scene.effect 먼 광원을 나타냅니다. |
18 | Point.Spot 이 효과를 노드에 적용하면 점 광원에서 생성되는 것처럼 광원이 노드에서 시뮬레이션됩니다. Point Light Source−이 광원의 빛은 단일 지점에서 모든 방향으로 감쇠됩니다. 빛의 강도는 광원에서 물체까지의 거리에 따라 다릅니다. 명명 된 클래스 Point.Spot 패키지 javafx.scene.effect는 포인트 라이트를 나타냅니다. |