ガウスエッジフェード (Gaussian Edge Fade)
概要 (Overview)
Gaussian Edge Fade ノードは、画像の輪郭端(エッジ)に対してガウシアンぼかし(Gaussian Blur)を適用したアルファチャンネルのフェードアウト効果を与え、滑らかな合成処理を実現します。エッジの硬い境界線をなくし、他の画像や背景の上にシームレスに重ね合わせるのに最適です。
使用する場面 (Use Cases)
- 画像合成 (Image Compositing): 滑らかなエッジのトランジションにより、複数の画像を自然に馴染ませたい場合
- ビネット効果 (Vignette Effects): プロフェッショナルなエッジフェードやビネット調の表現を作りたい場合
- オーバーレイの事前準備: 多様な背景に違和感なく重ねられるよう画像を前処理したい場合
- ロゴの処理: 背景透過ロゴの内側の切り抜きを保持したまま、外周境界にフェードを追加したい場合
- 写真編集: 角丸(ラウンドコーナー)のオーガニックで自然な輪郭フェードを作成したい場合
パラメータ一覧 (Parameters)
入力パラメータ (Input Parameters)
| パラメータ | 型 | 説明 |
|---|---|---|
| input_image | ImageArtifact / ImageUrlArtifact | エッジフェードを適用する入力画像 |
| fade_mode | 文字列 | フェード距離の単位指定: "percentage"(画像サイズに対する比率)または "pixels"(絶対ピクセル距離)。デフォルト: "percentage" |
| fade_distance | 整数 | エッジからのフェード距離。パーセンテージモードの場合: 5 = 画像寸法の 5%。ピクセルモードの場合: 5 = 5 ピクセル。デフォルト: 5 |
| blur_radius | 整数 | 滑らかなエッジ遷移のためのガウスぼかし半径(0〜100)。値を大きくするほど柔らかいフェードになります。デフォルト: 10 |
| fade_curve | 浮動小数点数 | 透明度の推移カーブを制御(0.5〜4.0)。1.0 = 線形(リニア)、>1.0 = エッジ付近をより透明にする(急峻)、<1.0 = エッジ付近の透明度を低く保つ(緩やか)。デフォルト: 2.0 |
| edge_shape | 文字列 | フェードの形状: "square"(直線的な境界)または "rounded"(曲線的な角丸)。デフォルト: "square" |
| replace_mask | 真偽値 | False の場合、既存のアルファチャンネルとエッジフェードを乗算結合します。True の場合、既存のアルファを完全に置き換えます。デフォルト: False |
| apply_top | 真偽値 | 上端エッジにフェードを適用するかどうか。デフォルト: True |
| apply_bottom | 真偽値 | 下端エッジにフェードを適用するかどうか。デフォルト: True |
| apply_left | 真偽値 | 左端エッジにフェードを適用するかどうか。デフォルト: True |
| apply_right | 真偽値 | 右端エッジにフェードを適用するかどうか。デフォルト: True |
出力パラメータ (Output Parameters)
| パラメータ | 型 | 説明 |
|---|---|---|
| output_image | ImageUrlArtifact | アルファチャンネルによるエッジフェードが適用された処理済み画像 |
主要機能 (Key Features)
フェードモード (Fade Modes)
Percentage モード: 解像度に依存しないフェード処理で、画像サイズに応じて自動的にスケールします。サイズが異なる複数の画像に対しても、一貫した見た目(例: 5% 幅)のフェードを維持できます。
Pixels モード: 精密なピクセル単位で絶対的な距離を指定するフェード処理です。画像の解像度に関係なく、指定したピクセル数(例: 50 ピクセル)だけフェードします。
フェードカーブ (Fade Curve)
フェードカーブは、エッジから中央に向けて透明度がどのように推移するかをべき関数(Power Function)で制御します:
- 0.5〜0.9: 緩やかなカーブ - エッジ付近でも不透明度が高く保たれ、急速に完全不透明へ遷移
- 1.0: 線形(リニア) - 透明から不透明へと均等にグラデーション
- 2.0(デフォルト): 急峻なカーブ - エッジ付近がより透明になり、中心へ向かって滑らかにフェードイン
- 3.0〜4.0: 極めて急峻 - エッジが極めて薄く透け、極めてなだらかなグラデーション
エッジ形状 (Edge Shapes)
Square: 各エッジが独立して直線的にフェードします。従来のビネットやレターボックス効果に最適です。
Rounded: 距離場(Distance Field)計算を用いて角を丸く結ぶ曲線的な輪郭でフェードします。モダンな UI デザインや自然な写真合成に最適です。
アルファチャンネルの取り扱い (Alpha Channel Handling)
Replace Mask = False(デフォルト): 元画像の既存の透過情報を保持し、乗算ブレンド(Multiplicative Blending)によってエッジフェードと結合します。透過背景を持つロゴマークなどに最適です。
Replace Mask = True: 元画像の既存アルファチャンネルを無視し、新しいエッジフェードのみを適用します。不要な透明部分をリセットしたい場合に適しています。
使用例 (Example Usage)
基本的なビネット効果
- 画像を input_image に接続します
- fade_mode を "percentage" に設定します
- fade_distance を 10(10%)に設定します
- blur_radius を 15 に設定します
- fade_curve を 2.0 に設定します
- すべての apply_* エッジを True のままにします
- ノードを実行します
結果: 全方向のエッジが柔らかく均等にフェードアウトした画像が得られます。
レターボックス効果
- 画像を input_image に接続します
- fade_mode を "pixels" に設定します
- fade_distance を 50 に設定します
- blur_radius を 20 に設定します
- apply_top と apply_bottom を True に設定します
- apply_left と apply_right を False に設定します
- ノードを実行します
結果: 上下方向のみにフェードがかかり、ワイドスクリーン風のオーバーレイに適した画像が得られます。
角丸合成 (Rounded Corner Composite)
- 画像を input_image に接続します
- edge_shape を "rounded" に設定します
- fade_mode を "percentage" に設定します
- fade_distance を 8 に設定します
- blur_radius を 12 に設定します
- fade_curve を 2.5 に設定します
- ノードを実行します
結果: 角が美しく丸みを帯びてフェードした画像が得られます。
ロゴの透明度を保持したフェード
- 透過背景を持つロゴ PNG を input_image に接続します
- replace_mask を False に設定します
- fade_distance を 5 に設定します
- blur_radius を 10 に設定します
- ノードを実行します
結果: ロゴ自体の切り抜き透過を壊すことなく、外周境界線のみを滑らかにフェードさせます。
ヒント (Tips)
- 自然な合成: エッジ付近をより透明にして溶け込ませるには、fade_curve を 2.0〜3.0 に設定してください
- 解像度非依存の設計: 異なるアスペクト比やサイズの画像を扱う際は、percentage モードを使用してください
- 選択的フェード: 特定のエッジ方向の apply_* をオフにすることで、一方向へのグラデーションフェードを作成できます
技術仕様 (Technical Notes)
- 出力形式はアルファチャンネルが保持された RGBA PNG です
- PIL が扱える任意の入力画像フォーマットをサポートします
- 効率的なグラデーション計算のために NumPy を使用しています
- 滑らかな階調表現のため PIL の ImageFilter(Gaussian Blur)を適用しています
- 既存アルファチャンネルとの結合には乗算アルファブレンディングを使用します
- 画像境界を超えてアーティファクトが発生しないよう、フェード距離は自動的にクランプされます