_ まだフォーマットの指定とか加工指定とかのダイアログついてないのでいまいち使い物にはならんですが サンプルとしてアップしときます。CS2/CS4の32bit版での動作を確認。 もろもろ追加したら後でソースもだします。しかしあの Photoshop SDK のドキュメントの読みにくさはどうにかならんものか。 サンプルとつきあわせて、ヘッダファイルに書かれたコメントとあわせてようやく意味がわかるという。
_ そして、なんかいつのまにか PSDの仕様が公開されてたのにいまごろ気付く。 公開日は昨年の6/15って、おいらが去年いろいろ関連情報を調べた直後じゃないか。 一応CS5あわせで改定されてるようだけどリンクとかおかしい突貫ドキュメントぽい。 PSDの仕様書って、PS6の時代まではPDF化したきちんとしたものがあったらしいんだけど、 どこかからメンテがされてなくて、CS2SDK:入ってない CS3/CS4SDK:リンクされてない謎のHTMLファイルとして存在、 CS5SDK:また消えたって状態だったのでした。次のSDKではまともに戻ったりするのかな。
_ PSDフォーマットは、基本構造は昔から変わってなくて「イメージリソース」の部分に どんどん新しいチャンクが増えてるって形になってます。Format プラグインを作ると その「イメージリソース」を読み書きのときに触ることができます。 この「イメージリソース」には、ID指定でチャンクが格納されているのですが、 おそらくユーザが自由に使うことを意図したプラグイン用のIDもわりあてられていて、 ユーザが独自フォーマットのプラグインを作ったときは、このIDでそのフォーマットに 固有の情報を書き込むようにしておけば、フォトショップはその部分は触らずに 右から左に渡してくれて、そのまま作業継続しても情報がロストされずに維持可能ということに なるはず……なんだけど、それの衝突を防いだりするためになんか決まり事あるのかなと 思ったら何処にも書かれてない^^; うーん、勝手につかって適当に magic 見て動くようにしていいのかな……
_
この部分、独自フォーマットではなく、自前ツールでPSDの読み書きを
行って附加情報をpsdに隠蔽する、といった逆の形の用途でも使えると思われます。
内部に含まれる画像リソースだけ Photoshop で再編集できるけど、自前ツールで
開くとなんか他にもいろいろ情報が入ってる、という形ですね。
それだと Photoshop にプラグインを追加してもらわなくていいのでむしろ便利かも。
しかしそういう使い方してる例が見当たらないのは、やはりあのSDKのわけわからなさのせいだろうか。
メールはこちらへ...[わたなべごう (go @(at) denpa .(dot) org)]
この日記は、GNSを使用して作成されています。