Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

JavaFX 텍스트 노드에 흐림(블러) 효과를 적용하는 방법

JavaFX에서는 setEffect() 메서드를 사용하여 모든 노드 객체에 시각적 효과를 추가할 수 있습니다. 이 메서드는 Effect 클래스의 객체를 인자로 받아 현재 노드에 해당 효과를 적용합니다.

특히 javafx.scene.effect.GaussianBlur 클래스는 내부적으로 가우시안 컨볼루션 커널(Gaussian convolution kernel)을 사용하는 흐림 효과를 나타냅니다. 따라서 텍스트 노드에 흐림 효과를 추가하려면 다음 단계를 따르면 됩니다.

  • 생성자의 인자로 x, y 좌표(위치)와 문자열을 전달하여 Text 클래스의 인스턴스를 생성합니다.

  • 폰트, 스트로크 등 원하는 속성을 설정합니다.

  • GaussianBlur 클래스를 인스턴스화하여 흐림 효과 객체를 생성합니다.

  • setEffect() 메서드를 사용하여 생성한 효과를 텍스트 노드에 설정합니다.

  • 마지막으로 생성된 텍스트 노드를 Group 객체에 추가합니다.

예제 코드

import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.GaussianBlur;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class TextBlurEffect extends Application {
   public void start(Stage stage) throws FileNotFoundException {
      // 텍스트 객체 생성
      String str = "Welcome to Tutorialspoint";
      Text text = new Text(30.0, 80.0, str);
      // 폰트 설정
      Font font = Font.font("Brush Script MT", FontWeight.BOLD,
      FontPosture.REGULAR, 65);
      text.setFont(font);
      // 텍스트 색상 설정
      text.setFill(Color.BROWN);
      // 스트로크의 너비와 색상 설정
      text.setStrokeWidth(2);
      text.setStroke(Color.BLUE);
      // 텍스트에 흐림 효과 설정
      GaussianBlur blur = new GaussianBlur();
      text.setEffect(blur);
      // 스테이지 설정
      Group root = new Group(text);
      Scene scene = new Scene(root, 595, 150, Color.BEIGE);
      stage.setTitle("Blur Effect");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

실행 결과

위 코드를 실행하면 갈색 텍스트에 파란색 스트로크가 적용되고, 가우시안 블러 효과로 인해 텍스트 전체가 부드럽게 흐려진 화면이 출력됩니다.