Javafx-effects

提供:Dev Guides
移動先:案内検索

JavaFX-エフェクト

効果とは、グラフィックの外観を強化するアクションです。 JavaFXでは、効果は視覚的にノードの外観を向上させるためにノードに適用されるアルゴリズムです。 Node クラスのエフェクトプロパティは、エフェクトを指定するために使用されます。

JavaFXでは、 bloom、blurglow などのさまざまな効果をノードに設定できます。 これらの各効果はクラスによって表され、これらのすべてのクラスは javafx.scene.effect という名前のパッケージで利用できます。

ノードへの効果の適用

  • setEffect()*メソッドを使用して、ノードにエフェクトを適用できます。 このメソッドには、エフェクトのオブジェクトを渡す必要があります。

ノードに効果を適用するには、する必要があります-

  • ノードを作成します。
  • 適用する必要があるエフェクトのそれぞれのクラスをインスタンス化します。
  • エフェクトのプロパティを設定します。
  • * setEffect()*メソッドを使用して、ノードにエフェクトを適用します。

ノードの作成

まず、それぞれのクラスをインスタンス化して、JavaFXアプリケーションにノードを作成します。

たとえば、アプリケーション内の画像にグロー効果を適用する場合。 最初に、Imageクラスをインスタンス化して画像ノードを作成し、以下に示すようにビューを設定する必要があります。

//Creating an image
Image image = new Image("https://www.finddevguides.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();

エフェクトのプロパティを設定する

クラスをインスタンス化した後、セッターメソッドを使用してエフェクトのプロパティを設定する必要があります。

例-3次元ボックスを描画するには、幅、高さ、深さを渡す必要があります。 以下に示すように、それぞれのセッターメソッドを使用してこれらの値を指定できます-

//setting the level property
glow.setLevel(0.9);

ノードへの効果の追加

最後に、* setEffect()*メソッドを使用して、必要な効果をノードに適用できます。 例:グロー効果を画像ノードに設定するには、次のようにこのメソッドにGlowクラスのオブジェクトを渡す必要があります-

imageView.setEffect(glow);
  • JavaFXエフェクト*-次の表に、JavaFXが提供するさまざまなエフェクト(クラス)のリストを示します。 これらのクラスは、 javafx.scene.effect というパッケージに存在します。
S.No Shape and Description
1

Color Adjust

画像に色調整効果を適用して、画像の色を調整できます。 これには、各ピクセルの*色相、彩度、明度*および*コントラスト*の調整が含まれます

パッケージ javafx.scene.effectColorAdjust というクラスは、色調整効果を表します。

2

Color Input

カラー入力エフェクトは、長方形を描画して色で塗りつぶすのと同じ出力を提供します。 他のエフェクトとは異なり、このエフェクトをノードに適用すると、ノードではなく長方形のボックスのみが表示されます。 このエフェクトは、主に他のエフェクトの入力として渡すために使用されます。

パッケージ javafx.scene.effectColorInput という名前のクラスは、色の入力効果を表します。

3

Image Input

JavaFXの画像入力エフェクトは、JavaFX画面に画像を埋め込むだけです。

Color Inputエフェクト(指定された色付きの長方形の領域を他のエフェクトへの入力として渡すために使用されます)と同様に、Image Inputエフェクトは指定された画像を別のエフェクトへの入力として渡します。

パッケージ javafx.scene.effectImageInput という名前のクラスは、イメージ入力エフェクトを表します。

4

Blend

一般に、ブレンドとは、2つ以上の異なるものまたは物質の混合物を意味します。 このブレンド効果を適用すると、同じ位置にある2つの異なる入力のピクセルを取得し、*ブレンドモード*に基づいて結合された出力を生成します。

パッケージ javafx.scene.effectBlend という名前のクラスは、ブレンド効果を表します。

5

Bloom

ブルーム効果を適用すると、ノードの一部のピクセルがグローになります。

パッケージ javafx.scene.effectBloom というクラスは、ブルーム効果を表します。

6

Glow

ブルームと同様に、グローエフェクトは指定された入力画像をグローさせ、このエフェクトは入力の明るいピクセルをより明るくします。

パッケージ javafx.scene.effectGlow という名前のクラスは、グロー効果を表します。

7

Box Blur

このぼかし効果をノードに適用すると、不明瞭になります。 ボックスぼかしは、JavaFXが提供するぼかし効果の一種です。 この効果では、ノードにぼかしを適用するときに、単純なボックスフィルターが使用されます。

パッケージ javafx.scene.effectBoxBlur という名前のクラスは、boxblurエフェクトを表します。

8

GaussianBlur

Box Blur Gaussianと同様に、JavaFXのノードをぼかします。 *ガウスぼかし効果*の唯一の違いは、ガウス畳み込みカーネルを使用してぼかし効果を生成することです。

パッケージ javafx.scene.effect のGaussianBlurというクラスは、ガウスぼかし効果を表します。

9

MotionBlur

ガウス効果と同様に、モーションブラーはJavaFXのノードをぼかす効果です。 また、ぼかし効果を生成するためにガウス畳み込みカーネルを使用しますが、この効果の違いは、指定された角度でガウス畳み込みカーネルが使用されることです。

パッケージ javafx.scene.effectMotionBlur というクラスは、モーションブラーエフェクトを表します。

10

Reflection

JavaFXのノードに反射効果を適用すると、ノードの下部に反射が追加されます。

パッケージ javafx.scene.effectReflection という名前のクラスは、反射効果を表します。

11

SepiaTone

JavaFXのノード(一般的なイメージ)にセピアトーン効果を適用すると、赤褐色の色調になります。

パッケージ javafx.scene.effectSepiaTone という名前のクラスは、セピアトーン効果を表します。

12

Shadow

この効果は、ぼやけたエッジを持つ指定されたノードの複製を作成します。

パッケージ javafx.scene.effectShadow という名前のクラスは、セピアトーン効果を表します。

13

DropShadow

この効果をノードに適用すると、指定したノードの背後に影が作成されます。

パッケージ javafx.scene.effectDropShadow という名前のクラスは、ドロップシャドウ効果を表します。

14

InnerShadow

この効果をノードに適用すると、ノードのエッジの内側に影が作成されます。

パッケージ javafx.scene.effectInnerShadow という名前のクラスは、内部シャドウ効果を表します。

15

Lighting

照明効果は、光源からの光をシミュレートするために使用されます。 さまざまな種類の光源、つまり*ポイント*、距離、および*スポット*があります。

パッケージ javafx.scene.effectLighting というクラスは、照明効果を表します。

16

Light.Distant

この効果をノードに適用すると、まるで遠くの光源によって生成されているかのように、ノード上でライトがシミュレートされます。

遠方光源-ノードから遠い距離にある光源。 ここでは、光源から一方向に光が減衰します。

パッケージ javafx.scene.effectLight.Distant というクラスは、遠方の光源を表します。

17

Light.Spot

この効果をノードに適用すると、スポットライトによって生成されているかのように、ライトがシミュレートされます。

スポット光源-この光源からの光は全方向に減衰します。 光の強度は、光源からオブジェクトまでの距離に依存します。

パッケージ javafx.scene.effectLight.Spot という名前のクラスは、遠方の光源を表します。

18

Point.Spot

この効果をノードに適用すると、点光源によって生成されているかのように、ノード上でライトがシミュレートされます。

点光源-この光源からの光は、単一の点からすべての方向に減衰します。 光の強度は、光源からオブジェクトまでの距離に依存します。

パッケージjavafx.scene.effectの Point.Spot という名前のクラスは、ポイントライトを表します。