Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaFXのテキストノードにぼかし効果を追加する方法

JavaFXでノードにエフェクトを適用する基本

JavaFXでは、任意のノードオブジェクトに対してsetEffect()メソッドを使うことで、視覚効果(エフェクト)を簡単に適用できます。このメソッドはEffectクラスのオブジェクトを引数として受け取り、対象のノードにその効果を追加します。

テキストに限らず、図形や画像などあらゆるノードに利用できるため、UIの見た目を演出したい場面で非常に便利です。

GaussianBlurクラスによるぼかし効果

javafx.scene.effect.GaussianBlurクラスは、内部でガウス畳み込みカーネルを使用したぼかし(ブラー)効果を表すクラスです。テキストノードに適用すると、文字に柔らかく幻想的な印象を与えることができます。

なお、GaussianBlurはコンストラクタでぼかしの半径(radius)を指定することも可能です。値が大きいほどぼかしは強くなり、デフォルト値は10.0です。引数なしで生成した場合はデフォルト値が使用されます。

テキストノードにぼかし効果を追加する手順

  • Textクラスをインスタンス化し、コンストラクタにx座標・y座標(位置)と表示する文字列を引数として渡します。

  • フォント、ストロークなど、必要なプロパティを設定します。

  • 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);
   }
}

実行結果

上記のコードをコンパイルして実行すると、JavaFXウィンドウ上にぼかし効果が適用されたテキストが次のように表示されます。

JavaFXのテキストノードにぼかし効果を追加する方法

より強いぼかしをかけたい場合は、new GaussianBlur(20)のように半径を大きめに指定してみてください。逆に、微妙な柔らかさを出したい場合は小さな値を指定するとよいでしょう。

  1. JavaFXでスライダー(Slider)を作成する方法をわかりやすく解説

    JavaFXのSliderクラスとはJavaFXには、Sliderと呼ばれるクラスが標準で用意されています。このクラスは、連続的な範囲の値を表示・選択できるスライダーコンポーネントを表します。スライダーは、数値が表示される「トラック」と、その上を移動して値を指し示す「つまみ(サム)」で構成されています。コンストラクタやプロパティを通じて、スライダーの最大値・最小値・初期値を自由に指定することが可能です。スライダーの作成手順JavaFXでスライダーを作成する基本の手順は以下の通りです。Sliderクラスをインスタンス化する — 最小値・最大値・初期値を引数に指定できます。必要なプロパティを設定す

  2. Microsoft OfficeのWordArt(ワードアート)にテキスト効果を追加する方法

    Microsoft Officeの「ワードアート(WordArt)」は、テキストに芸術的な装飾を施せるテキストボックス機能です。豊富なスタイルが用意されており、目を引く印象的な文字を作成できます。チラシや広告など、視覚的なインパクトが求められる資料を作成する際に特に活躍します。 テキスト効果とワードアート ワードアートの文字は、色・サイズ・フォントを自由に変更できるほか、Microsoft Officeでは文字にさまざまな「テキスト効果」を加えることも可能です。 Officeアプリでワードアートにテキスト効果を追加する手順 ここではMicrosoft Wordを使って説明します。 まず、ドキ