6

Photoshop ファイルを操作し、そのアクションとスマート オブジェクトを使用して画像を作成したいと考えています。

それを行うことができるphpまたはC#APIはありますか?

4

5 に答える 5

8

まず、そのようなことの合法性について考えていただきたいと思います。アドビは、実際にアプリケーションを Web にプロキシするだけでよいでしょうか? 彼らは多くのライセンスを持っているので、実際にはそのうちの 1 つが実際にこれを行う許可を与えている可能性があります (ただし、まだ注意事項がある可能性があるため、それについて読むことをお勧めします)。それは問題ではないので、これについてはもう話しません。関連するはずなので、言及したかっただけです。

さて、実際の質問ですが、Microsoft Office Interop を見ると、Microsoft はサーバー側環境ではサポートされていないと述べています。この Microsoft ページに移動し、「詳細情報」セクションの「Office のサーバー側オートメーションを使用する際の問題」をお読みください。

上記のページに記載されているように、通常のクライアント アプリケーションをサーバー側で実行することにした場合、いくつかの問題がありますが、最も重要な問題の 1 つは次のとおりです。

デスクトップとの対話性: Office アプリケーションは、対話型デスクトップで実行されていることを前提としています。状況によっては、特定の自動化機能が正しく機能するために、アプリケーションを可視化する必要がある場合があります。予期しないエラーが発生した場合、または機能を完了するために未指定のパラメーターが必要な場合、Office は、ユーザーが何をしたいのかを尋ねるモーダル ダイアログ ボックスをユーザーに表示するように設計されています。非対話型デスクトップのモーダル ダイアログ ボックスを閉じることができません。したがって、そのスレッドは無期限に応答を停止 (ハング) します。特定のコーディング方法はこの問題の可能性を減らすのに役立ちますが、これらの方法で問題を完全に防ぐことはできません。この事実だけでも、サーバー側の環境から Office アプリケーションを実行することは危険であり、サポートされていません。

これは Microsoft が自社製品用に作成したものですが、通常のクライアント アプリケーションにも多かれ少なかれ適用できます。このアプローチを採用することにしたとしても、Neville K が既に示唆したように、リソースを大量に消費する作業になります。

上記を考慮して、「画像で必要なことを行うために使用するライブラリまたはサーバー側アプリはどれですか」という行に沿って、別の質問をするかもしれません。

于 2012-12-02T21:32:33.213 に答える
4

このリンクに基づいて、 Photoshop SDK で次のことを行うことができます。 Photoshop チュートリアルの eBook を作成して、ユーザーが eBook 内から Photoshop CS6 でアクションを実行できるようにする」

于 2012-11-19T09:44:18.037 に答える
3

これは難しいように聞こえますが、一部の企業はそれを機能させているようです。Xeeも PSD を読むことができます (そして、ソース コードでこのフォーマットについての壮大なコメントがあります)。

しかし、HNの誰かを引用すると:

PSD は、データ交換フォーマットになることを意図したものではありません。それは、実際の人々が他のほとんどのソフトウェアよりも依存する個別の無関係な機能を多く備え、驚くべき量の後方互換性とほとんど途切れのない前方互換性を維持している単一プログラムのシリアル化フォーマットです。 20年以上の存在の間の互換性。この製品の「ファイル形式」は、Office のような同様のメガ プログラムと同様に、この文脈で批判する必要があります。したがって、PSDファイルが自分のアプリケーションから簡単に解析できるように整理されたファイル形式になると誰もが考える理由を理解するのに苦労しています。Adobe の他の製品でさえ、これらのファイルを開く際に制限があります。これらのファイルを真に操作するには、Photoshop の特定の編集モデルとの高度な互換性が必要です(したがって、これら 2 つのクラスのファイル形式には概念的な違いがあります)。

サーバー側のユーティリティについては、Xee を参照することをお勧めします。

幸運を。

于 2012-12-07T15:24:02.237 に答える
2

サーバーをクラッシュさせずに一度に 1 つまたは 2 つ以上の画像を処理することは実際には Photoshop でできないという警告に注意してください。ほとんどのタスクでは、軽量の画像ライブラリの方がはるかに優れています。

ただし、Web アプリケーションからのジョブをキューに入れ、別のコンピューターでそれらを処理したり、一度に 1 つだけに制限したりすることはできます。

Adobe には、マクロと、コマンドラインまたは com から開始できる完全なアクション/JavaScript ベースのスクリプト環境があります。

アドビ スクリプティング ガイド

http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop_cs5_scripting_guide.pdf

古いバージョンの Photoshop では、マクロ機能を使用してアクションを記録できます。次に、アクションからドロップレットを作成します。画像ファイルを唯一のパラメーターとしてコマンド ラインからドロップレットを呼び出します。画像ファイルへのパスは、おそらく絶対パスである必要があります。

于 2012-12-06T21:24:33.690 に答える
2

必要に応じて、スクリプト インターフェイスを使用して、任意の Web 言語から「シェル」タスクを開始できます。

しかし、私はこのアプローチについて真剣に心配しています.Photoshopのメモリ要件は、数人のユーザーしかサポートできないほどのものであり、「シェル」タスクの結果を確認するにはかなり複雑なポーリングメカニズムが必要です. Photoshop は、このように Web サイトを強化するようには設計されていません。

代わりにグラフィック ライブラリを使用することを検討してください。私は過去に ImageMagick を使用して大きな効果を上げました。

于 2012-11-19T10:44:21.710 に答える