このドキュメントはPhotoShopのフィルタを作成するまでの必要な作業などをドキュメントとしてまとめているものです。
PhotoShop自体は、それなりに歴史のあるソフトであるため、そのフィルタの仕組みは結構古めかしくて単純です。
開発環境はC言語であるため、実際にはC言語の知識がある程度必要です。ただ、難しく考える必要はなく、ポインタまで頑張ったけど何となく分からなくて蹴躓いたと言うところまで行っていれば、それ以降の必要な知識はこのドキュメントでサポートートします。
なので、必要最低限な技術ラインはそこ、後は頑張ってチャレンジしてみてください!
まずは開発環境の整備です。で、まぁコレが一番の問題だったりします。
一応今回はVisualC++6.0を開発環境として使用します。ただVisualStudio環境でもコンパイルが通るはずです。(まだ試していませんが…)
そして、PhotoShopのフィルタを作成するには、PhotoShopFilterSDKが必要なのですが、これが一般に現在配布されていない。
PhotoShop6.0の頃までは、PhotoShopのCDに同梱されていたのですが現在では入手するにはいろいろと手続きが必要になってしまいました。具体的にはPhotoshop SDKの入手手順についてを参照下さい
何とか入手して下さい!
今回はフィルタのサンプルの中でもDissolve-with-AppleScriptをベースに開発を行います。理由はSDK5.0でも5.5でも入っていて、他の人のやりたい画像処理系のフィルタのサンプルだからです。
サンプルのフィルタは、「SDKのインストールディレクトリ\\SampleCode\Filter\Dissolve-with-AppleScript」にあります。通常は(C:\Program Files\Adobe\Adobe Photoshop 5.0 SDK\SampleCode\Filter\Dissolve-with-AppleScript)です。
そのままコンパイルすると通らないと思いますので
#include <Types.h> // Standard types.
↓
#include <sys/Types.h> // Standard types.
と変更してください。
コンパイルされたフィルタは、「SDKのインストールディレクトリ\SampleCode\SDKPlugins\Debug」に出力されます。(SDK5.5の場合は「SDKのインストールディレクトリ\SampleCode\Output\Win\Release\」)に「DissolveWith.8bf」というファイル名で出力されます。
作成されたフィルタを、PhotoShopのフィルタディレクトリに移動させてからPhotoShopを起動してください。フィルタを選択するときに「AdobeSDK」というメニューが追加されて、そこに「dissolvewith example filter plug-in」という項目が追加されているはずです。