このページの最終更新
 2008/09/14

Paint.NET公式サイト↓
マニュアルメニュー TOP 機能と使い方 プラグイン レタッチ例 効果使用例 ギャラリー
ゼロから作るオリジナルプラグイン
7.UIを使った線色変更プラグインを作る!

 ついに最終回です。最後はUI、コントロールウインドウ付きの線色変更プラグインを作ってみます。5回目で作った線画抽出プラグインを使うと、線画以外を透明にするので線画の色を変えるのは、アルファ=0以外のピクセルの色変更すれば良いわけです。ですから、今までの知識で簡単に作ることができます。

(1)カラーホイール式RGB調整で作ってみよう
 
UIの設定については、前回行き当たりばったり、デタラメに作ったので今度は正規の作り方でいきます。Code Lab を開いたらFileからUser Interface DesignerをクリックしUIの設定を先にします。

先ず、標準になってる3つのスライダーを消します。
次に、Control type からColor Wheel を選択し、Addをクリックします。
最後に、Control name を日本語に変えてみました。

これで、設定完了。OKをクリックします。

#region UICode
ColorBgra Amount1 = ColorBgra.FromBgr(0,0,0); // 線色
#endregion

void Render(Surface dst, Surface src, Rectangle rect)
{
   ColorBgra CurrentPixel;
   for (int y = rect.Top; y < rect.Bottom; y++)
   {
     for (int x = rect.Left; x < rect.Right; x++)
     {
        CurrentPixel = src[x,y];
        if (CurrentPixel.A != 0)
        {
           CurrentPixel.R = (byte)Amount1.R;
           CurrentPixel.G = (byte)Amount1.G;
           CurrentPixel.B = (byte)Amount1.B;
           dst[x,y] = CurrentPixel;
        }
     }
   }
}
これで、プログラムのUI部分も変更されます。
 あとは、もう簡単です。if文で、画像ピクセルのアルファが0以外なら、UIの設定値を画像ピクセルのRGBに代入しなさいという事を書けばお終いです。

 いつも通り、CSファイルで保存し、それからDLLファイルにします。出来上がったのが目次ページで画像紹介した線色変更プラグインなわけです。下に同じモノを掲載しております。

線の色を変えるだけの簡単なエフェクトですが、非常に便利です。

プライマリカラーが初期設定になりますので、例えば、肌の色をスポイトで拾ってプライマリカラーにしておけば、このエフェクトでちょっと濃くするだけ済みます。

色の変更はリアルタイムで画像に反映されるので、色具合を見ながら線色を決めることができます。

2回目はプラマリカラーを別の色にしても変わりません。新しいプライマリカラーの色にするには、リセットボタンをクリックします。

■最後のまとめ

特にありません(笑)
とても簡単な3つのプラグインを作ってきましたが、私にとってはアニメツールとして、とても重宝しています。
難しい処理をするプラグインは沢山ありますが、こんな簡単な事を処理してくれるプラグインはありません。

みなさんも、ほんのちょっとした事が煩わしい時は、自分でプラグインを作ってみましょう。

それでは、またいつの日かお会いしましょう!

前の記事に戻る  目次へ戻る 
inserted by FC2 system