Panel.replaceColor - hoge1e3/Tonyu2 GitHub Wiki

Panel

replaceColorメソッド

パネルの色の置き換えを行います.

書式1 関数による置き換え

panel.replaceColor(left,top,w,h) \(color,x,y) {
    // 関数部分:colorオブジェクトに対する操作を行う
};
  • left,top,w,h は,置き換えを行う範囲の左上の座標(left,top),幅w,高さhを表します.省略するとパネル全体を置き換えます.
  • 関数部分では,第1引数にColorオブジェクト,第2,3引数に置き換え中の座標が渡されます.Colorオブジェクトに対して操作(フィールドの書き換え)を行うと,その箇所の色が書き換えた通りに変化します.
  • 書式1はピクセル数と同数の繰り返しを行うため,時間がかかることがあります.

例:

//パネル全体をグレースケールに変換
$panel.replaceColor \(c) {
    c.s=0;// 彩度を0にする
};

書式2 不透明部分の一括置き換え

panel.replaceColor(left,top,w,h,color);
  • left,top,w,h は,置き換えを行う範囲の左上の座標(left,top),幅w,高さhを表します.省略するとパネル全体を置き換えます.
  • color には色を表す文字列またはColorオブジェクトを指定します.不透明部分がcolorで指定した色に置き換わります.
  • 書式2は高速に処理を行うことができます.(globalCompositeOperation="source-in" を使用)

.