忍者ブログ

軽Lab

 Javaを中心とした、プログラミング関係のナレッジベース

Home > JavaFX入門 > JavaFX 画像エフェクト

JavaFX 画像エフェクト

今回は可視ノードに対するエフェクト処理を見ていく。エフェクトの代表的な例としては、ぼかし(Blur)や色相・彩度・明度調整などである。エフェクトはNode.setEffect関数で設定するため、シーングラフに登録するノード(図形やテキスト、画像など)であれば、エフェクトを設定できる。

■ エフェクトクラス

エフェクトはEffectクラスを継承する。システム側であらかじめ用意されているエフェクトは以下の通りである。各エフェクト処理のイメージはサンプルで確認する。

分類 クラス 内容
合成 Blend アルファブレンドや加算合成など、ノード同士の色合成を行うクラス。合成の種類はBlendMode型で指定し、デフォルトでは17種類存在する。
ぼかし BoxBlur ボックスブラーと呼ばれるぼかし処理を行う
MotionBlur モーションブラー(物体が動いた際のぶれ)処理を行う
GaussianBlur ガウシアンブラー処理を行う
影生成 Shadow オブジェクトの影を作成する
DropShadow オブジェクト外部に影をつける
InnerShadow オブジェクト内部に影をつける
色・画像 ColorAdjust 色相、彩度、明度およびコントラストを調整する
SepiaTone オブジェクトの色をセピア・トーンに調整する
ColorInput オブジェクトを塗りつぶす
ImageInput オブジェクトに画像を設定する
反射 Reflection オブジェクトが水面反射したような外観を与えます
Lighting 仮想的な光を照らし、立体的に見える外観にする
Bloom オブジェクトが光って見える処理を行う
Glow オブジェクトが光って見える処理を行う
変形 DisplacementMap 各ピクセルの位置を変化させる
PerspectiveTransform オブジェクトを変形させる

 Blendエフェクトについては合成の種類が多いため、別記事で扱うこととする。


■ サンプルプログラム

エフェクトを利用するサンプルプログラムを以下に示す。

◇サンプルコード
TestEffect.java

◇関連リソース
(chara_one.png) 

◇実行結果


◇解説
今回はサンプルプログラムが大きくなったため、ファイル(TestEffect.java)をアップロードしている。
  1. (57行目~73行目)今回のサンプルのメイン処理。エフェクトのサンプル画像を作成する関数を呼び出し、シーングラフに登録している。
  2. エフェクトの利用方法については『create○○』を参照。更に詳しい説明はJavaDocを参照のこと。
  3. 実行結果については各行が各エフェクトの出力サンプルとなっており、『エフェクト名称』『テキストへのエフェクト適用結果』『画像へのエフェクト適用結果』の3つを出力している。


■ 参照

  1. JavaDoc - クラスEffect
  2. JavaDoc - パッケージjavafx.scene.effectの階層
  3. JavaFXでのアニメーションおよびビジュアル効果
  4. JavaFX: 変換、アニメーションおよび視覚効果
Home > JavaFX入門 > JavaFX 画像エフェクト

- ランダム記事 -
- PR -

コメント

プロフィール

管理者:
 連絡はContactよりお願いします。

PR