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

Paint.NET公式サイト↓
マニュアルメニュー TOP 機能と使い方 プラグイン レタッチ例 効果使用例 ギャラリー
ゼロから作るオリジナルプラグイン
1.CodeLabのサンプルでプラグイン作りを体験しよう

 連載第1回目です!とにかく、食わず嫌いじゃどうにもならない。試してみようじゃないかという、内容です。気軽に試してみてください。
 先ずは、CodeLabをダウンロードして、「effect」フォルダ入れて、PDNを起動しましょう。「効果」に「Advanced」という新しいサブメニューができ、そこにCodeLabが収められています。早速クリックして見ましょう。こんなウインドウが出てきます。本家の解説を元に、ズブの素人でも触って良さそうなところだけ、囲ってみました。これ見ただけで「うわぁ〜、もうダメ!」なんて言わずにつき合ってくださいね(笑)
 尚、私がズブの素人(自爆)なので、解説もできるだけ簡単にします。用語も、良く分からないので私も勉強しながらの解説になります。
(親近感もてるでしょ?っっちゅうか、そんなヤツの解説、信頼できないって???(^^;)



//で始まるグリーンの英語や式は単なる説明です。プログラムではありませんが、(3)の3〜6行は、プログラムの元が書かれています。
せっかちな人は、いきなり、この4行の//を消してみましょう(笑)(私はこういうタイプです(自爆))
カンバスが白で、色がデフォルトの黒白なら、3行目の//を消した瞬間に画像が水色になるはずです。
3行目の文字もグリーンから黒に変わります。//を消したことでプログラムとして機能したワケですね。



4行目も//を消してみましょう。今度は、青くなります。5行目を同様にすると、黒に。6行目は・・・もう変わりません。

まっ、大体察しが付くと思いますが、
「画像のR(赤)、G(緑)、B(青)、A(透明度)にプライマリカラーのR、G、B、Aを代入しなさい。」
みたいなプログラムです。プライマリが黒ですから、(R,G,B,A)=(0.0.0.255)。元の画像の白(255,255,255,255)を黒に置き換えたワケです。
//を消すたびに色が変わっていくのは、例えば最初にRのプログラムを生かした時点で、画像のRGBAは(0.255,255,255)に変わり、つまり水色に変わった訳です。=は等しいじゃなくて代入というのを覚えてください。
ココまで我慢したけど、アレルギー反応が!!って人はこれ以上は無理かも知れません(^^;)
逆に面白い!と思った人は続けてお読み下さい。
さて、順序が逆なんですが(苦笑)いらないプログラムを消していきましょう。最初の(1)は、書いてあるとおり、このプログラムではUI、つまりユーザーインターフェイス(コントロールウインドウ)なんつうものは使ってません。だから、(1)は全部消して問題ありません。本家の解説にもそう書いてありますので自信をもって消してみてください。エラーは出ません。

次の(2)はちょっと、ややこしい?そんなことないです。(3)で使ってる単語?に関係しないのは消して大丈夫です。(3)で使ってるのは、「CurrentPixel」と「PrimaryColor」だけです。そうすると、残すのは

「ColorBgra PrimaryColor = (ColorBgra)EnvironmentParameters.PrimaryColor;」

だけです。
不要なプログラムを消すとホントにシンプル!ここでOKをクリックします。これで、とりあえずこのプログラムはCodeLabに一時的にメモリーされます。一旦、×をクリックしてCodeLabを終了させます。色ウインドウで、プライマリカラーを変えてみましょう。ここではプライマリを赤にしてみました。変えたら、もう一度、CodeLabを呼び出します。そして、Buildをクリック。画像が赤くなるはずです。



とりあえず今回はここまで。興味が湧いた方は、プログラマーの素質があります!
ちょっと今回の内容をまとめておきましょう。

●いじって良いのは、(1)(2)(3)の3ブロック
●(1)のブロックはコントロールウインドウを呼び出すところ、必要なければ消す
●(2)のブロックはプログラムの基本的な定義。プログラムに必要ないものは消す
●(3)のブロックが目的のプログラムを書くところ

=は等しいじゃなくて代入

次回はいきなりオリジナルプラグイン作りに挑戦します!
そうそう、忘れてました。本家記事で、(2)の3行目と4行目のLong Center〜を使ってどうのこうので、プログラムに、なんちゃらを足してっていう事が書いてありますが、PDNv3.35以前では、レンダリングにものすごく時間がかかるので、テスト用に画像の真ん中のピクセルだけでテストするためのプログラムです。なので現在は必要ないです。
ズブの素人解説に最後までおつき合い頂き有り難うございます。とにかく、細かい事分からなくても、こんな風にプラグインってできてるんだなって分かって頂ければ幸いです。


目次へ戻る    次の記事へ進む
inserted by FC2 system