「電波とどいた?」
2009/08版 その2

2009/08/19 (水)

雑記

_ おひさー。コミケは例によってぐったりんぐでパス。 この数日はわりと涼しくてすごしやすいですね。このまま秋になるのかな。


Photoshopのサムネール表示 (アプリケーション)

_ Photoshop は CS以降でサムネールがエクスプローラで表示されなくなって しまったのですが、これは CS4 でも改善されてませんでした。 一応 Photoshop7 時代のDLLをムリヤリコピーしてくるという荒技もある模様。

ところが、最近、うちの環境で普通にサムネール表示されるように なっていて、なんでだろうと思ってたのですが、その原因がわかりました。 Microsoft Expression Blend 3 (評価版・体験版も含む)をインストールすると、 あわせて PSDに対応した WIC CODEC がインストールされて、エクスプローラにサムネールが 表示されるようになる他、プレビューパネルや、Windows フォトギャラリーで PSDファイルを プレビューできるようになります。ちなみに CODEC実体は Common/Imaging/3.0.269.0/PSDCodec.dll

_ なお、PhotoShop CS4 は、PSDファイルに対する、エクスプローラの右クリックメニューの 「プレビュー」を持っていってしまうのですが、それは適当なツールでレジストリから 該当エントリを削除することで、標準のプレビューが起動するようになります。 Vista ってなんで関連づけの詳細編集メニュー無くしてしまったんだろう。不便でしょうがない。

_ 吉里吉里の TLGファイルとかも、WIC CODEC と、あと、PhotoShop 用の Import/Export プラグイン を書いてしまえばいろいろ便利になるんだろうなぁと思って資料は一通り集めてあるんだけど時間がない件


PhotoShopベースの画像加工アプリ (アプリケーション)

_ 最近立ち絵用の元データで「比較(暗い)」とかの下層のデータに依存するレイヤモードを 使ってるものがけっこうありまして……。 これを単純に「レイヤーを結合」すると、表示内容が変わってしまうため、 表情部分のレイヤ分けを簡単に行うことができなくなってしまいます。対策としては、 いったんベースになる画像とあわせて結合してから差分を抽出しなおすという手順が必要です。 この作業がなかなか大変で、人手でやってるとかなり死ねます。

_ そこで PhotoShop 上でスクリプトを書いて対応するのですが、 画像の合成処理は簡単なのですが、差分抽出のようなビットマップを 直接さわる必要がある処理で壁にぶち当たります。一応、選択・塗りつぶし・ヒストグラムなどを 駆使すればできなくはないんですが、重すぎてお話になりません。

_ とりあえず現状では、縮小&合成の作業までは PhotoShop 上でスクリプトで対応して、 そこから先の、差分抽出&分離+回転用にデータ補正して、ゲーム用のデータに変換 する部分は吉里吉里で作ったツールでしのいでます。 ただ、中間出力データが大きすぎて取り扱いづらいとか、人手作業部分がかなり 残るというのがあって、できれば、全部 PhotoShop 側で処理することは できないものかなぁと思案中なのでした。全部吉里吉里側というのは PSDの情報を完全に処理できてないのでちょっと無理。 複数のPSD元ファイルを参照しながら立ち絵組み合わせ定義を作成して、 最後に一度に組み込み用データを全部はき出せるのが理想。あと ついでにモザイク処理とかも自動でできると便利

_ Photoshop を制御する Adobe ExtendScript は、UI制御とファイル制御一式まで持っているので、 ビットマップ操作処理がなんとかなれば、普通にいろいろ制御パネルをもったツールをスクリプト ベースで作れるはずではあるのです。一応 Photoshop CS4 から、Flash や AfterEffect で 導入されている PixelBenderが使えるようになってるのですが、ネイティブに組み込まれてる わけではなく、特定のフィルタプラグイン経由扱いで、インターフェース的に 入力=出力、かつ、1つしか扱えないため、残念ながら、汎用的な用途には 使えません。CS5 ではネイティブ対応するのかなぁ

_ 特定目的だけであれば、専用処理のプラグインを書いてしまえばいいのですが、 なにかしら汎用的な記述ができるのが理想なのです。どこかにピクセルシェーダ つかった画像処理の汎用的なサンプルになるようなライブラリとかぽろっとおちてないかなぁ。




メールはこちらへ...[わたなべごう (go @(at) denpa .(dot) org)]

この日記は、GNSを使用して作成されています。