概要
謎作例。何に使うか?画像編集ソフトで作成した画像はアルファ0の部分のRGB値が黒になっている事が多く、複雑なフィルタ処理を行ってきたない色がしみだしてくるのを避けるため、アルファは1以外のまま何かしらの色で塗りつぶしておきたいのだ。

サンプルノードグラフ
そんな処理を実際作ったのだが、あとでみて訳が分からなくなりそうなので、ノードグラフのキャプチャを張って、簡単な解説を入れておく。

全ピクセルでアルファが1のドット探索をすると処理がかさみそうなので、まずValueProcessorで色を確定させてから、それをカラー化するだけだけのPixelProcessorにつっこでいる。(アルファが1でないピクセルから近いアルファ1のピクセルを探すような処理だと全部PixelProcessorに描かざるを得ないが、今回は代表色を取れればいい事案に使うので。)
処理的にWhileループを使うが、初期化、本処理でいくつか変数を使う関係でシーケンスノードだらけになった。アルファが1のピクセル探索は、0,0にoffset値を足した位置からうっすら斜め右下へ(yは上から下まで64回、xは0.25ずつ、反対側に回り込む形で)探索していく。アルファ1ピクセルが見つかった際のbreak処理を書いたほうがいいことに気づいたが、(cntに大きな値を入れるなりしてループを抜け出す)今回は最大64回なのでこのままとした。アルファが1のピクセルが自動で見つからない場合はオフセットパラメータを調整して見つかるようにする。
ダウンロード

ここまで記事を書いた後に再利用できる形にまとめなおしたのでgithubにあげておく。
その他
この例のようにValueProcessorでもピクセル色のサンプリングは可能なので、PixelProcessorだけでは難しそうな処理に活用ができそうだ。




