HatenaPocket本稿はJavaFXのNodeオブジェクトに対してEffectを適用してみたいと思います。エフェクトを利用すればより高度な表示を実装することができます。ここで紹介するエフェクトは私が気になった物のみです。全てのエフェクトはこちらから確認できます。画像にエフェクトをかけたほうが面白そうだったので少し大きめの画像を描いてサンプルとして利用することにしました。今回はサンプルで紹介しませんが、図形や文字列にもエフェクトは適用できます。sample3.jpg下記は今回のベースサンプルプログラムです。Viewクラスを修正してサンプルを見ていきます。{//ここに表示オブジェクトを追加する処理を記述}}オブジェクトの色に影響を与える効果ColorAdjustクラスを利用すると色の色相、コントラスト、明度、彩度などを変更することができます。変更値は-1.0~1.0の間で指定してください。サンプルでは色相変更エフェクトを適用してみます。ColorAdjust();//色相変更ef.setHue(0.5);image.setEffect(ef);getChildren().add(image);}}実行結果なんか魔力が強そうな色になりました。Bloomを利用して光っているように見せるBloomクラスを利用するとオブジェクトが光ってるように見せることができます。Bloom();ef.setThreshold(0.2);image.setEffect(ef);getChildren().add(image);}}実行結果DropShadowでオブジェクトに影をつけるDropShadowクラスを利用するとオブジェクトに影をつけることができます。setRadius(影の大きさ)setOffsetX(影の位置をずらすX座標)setOffsetY(影の位置をずらすY座標)setColor(影の色)と指定しましょう。0.5));image.setEffect(ef);getChildren().add(image);}}実行結果InnerShadowでオブジェクトの内側に影をつけるInnerShadowクラスを利用するとオブジェクトの内側に影をつけることができます。setRadius(影の大きさ)setOffsetX(影の位置をずらすX座標)setOffsetY(影の位置をずらすY座標)setColor(影の色)と指定しましょう。InnerShadow();ef.setOffsetX(20);ef.setOffsetY(20);ef.setRadius(30);ef.setColor(Color.web("0x0b293d"));image.setEffect(ef);getChildren().add(image);}}実行結果GaussianBlurでぼかし効果GaussianBlurを利用するとぼかしが使用できます。setRadius(値)でぼかしの強さを指定します。GaussianBlur();ef.setRadius(20);image.setEffect(ef);getChildren().add(image);}}実行結果MotionBlurで特定方向へぼかし効果を適用MotionBlurを利用すると特定方向へぼかし効果を適用することができます。setAngle(角度)で方向指定setRadius(値)でブレ具合の強さを指定してください。MotionBlur();ef.setAngle(180);ef.setRadius(10);image.setEffect(ef);getChildren().add(image);}}実行結果PerspectiveTransformで3D効果を適用PerspectiveTransformクラスを利用すると3D効果を使用できます。使用するメソッドが下記の8つです。setUlx(左上隅のx座標)setUly(左上隅のy座標)setUrx(右上隅のx座標)setUry(右上隅のy座標)setLrx(右下隅のx座標)setLry(右下隅のy座標)setLlx(左下隅のx座標setLly(左下隅のy座標)左隅とか右上とかを引数に入れるわけですが、例えばsetUlxであれば、画像の左上隅のx座標を描画先のどこの座標に設定するかです。わかりやすいようにイメージを用意しました。実際に3D変換したサンプルをご覧ください。本稿はJavaFXでウィンドウ表示する方法を紹介します。コメントをキャンセルメールアドレスが公開されることはありません。当サイトのプライバシーポリシーについてはこちらからご参照いただけます。