質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Photoshop

Photoshopとは、アドビシステムズ(株)が開発した画像編集のソフトウェアです。 イラストレーターや印刷業界などで幅広く使われている他、初心者や一般向けの写真編集用に開発されたソフトもあります。 専用に開発されたフィルターやプラグインを追加すると、機能を拡張することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

6215閲覧

Photoshopのプラグイン開発がしたいがAPIが用意されていない機能の実装の為に、どの言語を学習すれば良いか知りたい。

ryutarosu

総合スコア5

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Photoshop

Photoshopとは、アドビシステムズ(株)が開発した画像編集のソフトウェアです。 イラストレーターや印刷業界などで幅広く使われている他、初心者や一般向けの写真編集用に開発されたソフトもあります。 専用に開発されたフィルターやプラグインを追加すると、機能を拡張することができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/04/09 02:53

前提・実現したいこと

始めましてプログラミングの入門レベルの初心者です。

やりたいこと:Photoshopのプラグイン開発がしたい。その為の開発言語が知りたい

実現したい機能
Photoshopのブラシ/ブラシ設定/その他/不透明度のジッター/筆圧の最小値を10%刻みでスクリプト化。
上記スクリプトをテンキーにShortcutとして割当して、ブラシ使用時にテンキーで不透明度を変えれるように、筆圧の最小値を変えたい。という物になります。

前提・実現したい事を踏まえて試したこと

javaScriptで開発ができる事をしり、Adobeから用意されたScriptingListenerというもので、操作を自動的にjavaScriptとして自動スクリプティングできるので試してみましたが、メニューレベでの操作は記述されない事が判明。
上記を踏まえ、SDKを調べた所、メニューレベでブラシ設定を弄るAPIは用意されていない事が分かった。

###知りたい事
実現したい機能・試したことを踏まえて、メニューレベルでアプリケーションに干渉する為のプラグインを開発するには、初学者として、どの言語を学習すれば実現できるでしょうか?

質問
①:APIは用意されていなくてもjavascriptで開発可能か?

②:①を踏まえてまたjavascript以外で開発は可能化?
候補、Python、C++、Autoit

2点の質問の回答を参考にして、どの言語を学習するか決定したいと考えております。
何卒ご回答の程、宜しくお願い致します。

補足
Python:blnederという3Dソフトで使用されていて、学べると一石二鳥な為。
C++:C++を扱えると大抵のソフトでプラグイン開発ができるらしいと聞いた為。またPhotoshopのjavascript以外でプラグインを開発するのに使える為。
Autoit:メニューレベルでの自動化できると聞いた為。

開発環境
Windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

実現したい機能
Photoshopのブラシ/ブラシ設定/その他/不透明度のジッター/筆圧の最小値を10%刻みでスクリプト化。
上記スクリプトをテンキーにShortcutとして割当して、ブラシ使用時にテンキーで不透明度を変えれるように、筆圧の最小値を変えたい。という物になります。

このようなことがしたいときは、スクリプトを作成するのが一般的かと思います。
スクリプトは Photoshop の操作を自動化することができ、以下の言語で開発することができます。

  • AppleScript(Mac 専用)
  • JavaScript
  • VBScript(Windows 専用)

※特に理由がなければ、クロスプラットフォーム対応の JavaScript がおすすめです。

参考:Adobe Photoshop Scripting
https://www.adobe.com/devnet/photoshop/scripting.html

また、プラグインはスクリプトとは異なり、Photoshop の機能を拡張したいときに使用します。
プラグイン開発用の C++ SDK が用意されています。
スクリプトと比較すると情報も少ないですし、開発の難易度はかなり高いと思います。

参考:Adobe Photoshop CC SDK for developers | Adobe I/O
https://www.adobe.io/apis/creativecloud/photoshop.htmlAdobe

投稿2020/04/09 04:52

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryutarosu

2020/04/09 05:10

nskydiving様 ご回答頂きありがとうございます! クロスプラットフォーム対応の観点からjavaScriptがオススメなんですね! C++は諦めてjavaScriptを候補の一つにさせて頂きます! ありがとうございました!!
yumetodo

2020/04/09 05:48

なんだ、やっぱりあるじゃん。ないはずないよなぁと首をひねってたけど、面倒臭がってドキュメント見に行ってなかった。
guest

0

APIが用意されていない、というのが真ならば、アプリケーションの作り方によっては可能ですとしか言えないです。どの言語ならどうとかそういう話ではないです。やろうと思えば大抵の言語でなんでも可能なのですから(やりやすさは違うでしょうが)
完全自前でGUIの描画をやっていたら、プログラム書き換えレベルでお手上げですが、そうじゃなければUI Automationとかで行けるかもしれません。

とりあえずPowerShell による GUI の自動化 - 作業中のメモ
でもみながら操作できそうか調べてみてはどうでしょうか。

投稿2020/04/09 04:10

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryutarosu

2020/04/09 04:40

yumetoda様 ご回答頂きありがとうございます! その前に私がAPIとSDKの違いを理解していなかったので訂正を、、、 PhotoshopにはAPIは有り、SDKも用意されております。 その上でPhotoshopブラシパネル向けのSDKが用意されていない様でした。 "APIが用意されていない"は間違いであります。訂正させて頂きます。 "やろうと思えば大抵の言語でなんでも可能"という事ですが、 薄々そうなのかなと感じておりました。 autoitで特定のパネルの情報を抽出するというやり方をみて、もしかたしたら他の言語も同じ事ができるのかもしれないと考え調べた所、たいがい出来る事がわかりました。 抽出したClassName?住所みたいな物がわかれば、それをどうにかやれば出来るのでは? と浅知恵を巡らしおります。 一先ず、どの言語でも可能との事でしたので、私にとって一番汎用性の高そうな言語で頑張ってみます! まずはご紹介頂いた PowerShell による GUI の自動化 - 作業中のメモを調べてみます! アドバイスありがとうございました!!
yumetodo

2020/04/09 04:47

完全自前でなければ、どうにかしてGUI部品へのクリックなりのイベントを飛ばすことができるだろう、というのがUI Automationのやってることだと思います(使ったことないので知らんけど)
ryutarosu

2020/04/09 04:56

体感ですが、アプリケーションの外部から干渉する感じですね。 (使ったことないので知らんけど)wwwには笑いましが、良いヒントが得られました! 頑張ってみます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問