C# で Photoshop を操作!

慧: こんにちは! C# Advent Calendar 2014 の24日目の記事だよ。
今日は思い付きだけど C# で Photoshop を操作するよ! アドベントカレンダー登録したときは、#キャラサミ のキャラクター一覧 の作り方にしようかなと思ってたんだけどね。
Photoshop オートメーション
Photoshop は「OLE オートメーション」というのに対応してて、C# でなくても、いろんな言語から操作できるようになってるんだよね。今回はこれをちょっと使ってみるよ。
Photoshop Object Library を参照
Visual Studio で C# のプロジェクトを作成して、「参照の追加」で「COM」の「Adobe Photoshop (version) Object Library」を選択。「(version)」部分はインストールしている Photoshop によって違うよ。
アクションの実行をコードで記述
① Photoshop の起動、② ファイルを開く、③ アクションの実行、④ ファイルへ保存 という流れを C# のコードで記述するね。Photoshop のアクション は、操作を記録して必要な時に再利用できるマクロ機能のこと。
コードはこんな感じ。ファイルは絶対パスで指定しよう。
https://gist.github.com/kureikei/13a311e486ecfb8f1bc7
コード中の DoAction メソッドで、アクションを実行しているよ。指定する値は、Photoshop のここの部分。
結果!
というわけで、メリークリスマス!
元の画像は、[Photoshop] 切手風のデザインを作る/プロ生ちゃんクリスマスカード の画像だよ。
参考になるサイト
今回の内容は、ほとんど Automating Photoshop With C# // Josh Wright を参考にしているの。
他にどんなことができるか調べるのは結構たいへんそう……。Adobe Photoshop Developer Center の Photoshop CC 2014 Scripting が、公式の最新情報かな。言語を英語にしないと情報が古いから気を付けて! コードの例は、AppleScript・JavaScript・VBScript が用意されているよ。
最新記事 by kei (全て見る)
- HSP プログラムコンテスト2024 結果発表&プロ生ちゃん賞発表! #hsp3 - 2024/12/13
- プロ生ちゃんチョコプログラミングコンテスト2024開催! - 2024/02/13
- HSP プログラムコンテスト2023 結果発表&プロ生ちゃん賞発表! #hsp3 - 2023/12/04