Just Diary

Follow me

タグ:javascript 一覧

Illustratorでアクションを生成する過程をオブジェクト化

前回Illustratorでアクションを生成して実行してみましたが面倒です。面付け作業の効率を上げる時によく使ったりするのですが一々書くのも億劫なのでよく使用するアクションをオブジェクト化しました。以下からコードをコピーできます。 Illustrator actions 予め決まったアクションの文字列を返す関数をコンストラクトオブジェクトに渡してインスタンスオブジェクトとして生成。生成したオブジェクトのlaunchActionメソッドでアクションを実行します。リサイズや移動の関数なんかは第二引数にオブジェクトをオプションとして渡すことにより移動量やリサイズの拡大率を調整できます。 これがアクシ

Read more

Illustratorのscriptでactionを生成する。

Adobe JSXが古くて動作が遅いというのは皆さんご存知の通りですがIllustrator上でscriptを使用して沢山のアイテムを動かす、調べるといった処理をとにかく重くなりがちです。簡単なポスターならまだしも実際に仕事でIllustratorを触ってる方はどのような職種でも何重にも重なったレイヤーや百に近いアイテムのドキュメントは珍しく無いでしょう。こういった複雑なデータの版下データを面付けするとか幾つも配置させるとなるとscriptの出番、となるのですがこういった複雑なデータを扱うのはとにかく苦手で、ただ移動させるだけでもデータが複雑ですとかなり時間がかかります。さらにクリッピングマス

Read more

Extension Watch Placed Image

新しくExtension開発しました。今回はIllustrator用です。Illustratorのドキュメントに配置された画像をNode.jsで監視して、更新されたら自動的にドキュメントを開いて保存するというものです。ポスターなんかで画像の色補正をしている時にテストプリントの度に補正->pdf保存->出力 補正->pdf保存->出力と繰り返すのが面倒だと思ってこの一連の作業を自動化するために開発しました。ここで紹介したものをExhangeで公開するために開発し直したものです。具体的には監視したい画像データと更新させたいドキュメントをパネル上で選択して、watchボタンを

Read more

cep.fs.showOpenDialogの使用変更?

こちらの記事で紹介した通りAdobe cepはファイルやフォルダーをダイアログで選択できるメソッドを持っている。それでここで紹介した通りにやればファイルパスが取得できるのだがCC2019とCC2020で使用が変わった? 取得したパスにいつの間にか頭にfile:///とスキームが付くように変わってるじゃないか。デバッグしててエラーが出てなんかおかしいと思った。ちなみにこのままだとpathだと認識されないのでNode.jsのfs.statSyncで読み込ませてもエラーを返します。なのでpathのstringとしてパースする必要があります。やり方は至極簡単。 ネイティブモジュールのurlからパースす

Read more

2020年9月版 Adobe CEPの開発環境

Adobe JSXと違ってCEP周りの環境は日々進化しています。既に3,4年前に比べて開発環境が大きく変わったのでここに私の開発環境を書いておきます。 テキストエディター 今から始めるならVSCode一択でしょうか。Extend script debuggerのプラグインでJSXのデバッグもできます。CC Extension BuilderでCEPの雛形も作ってくれます。Adobe bracketsは一時期人気がありましたが今はどうでしょうか?だんだん古い情報しか検索に引っかからないようになりました。 デバッグ 2020年上旬あたりに突然Google chromeでCEPでのデバッグが出来なく

Read more

初心者向けAdobe JSX、Javascript入門これからjsxを始める前の話

JavaScirptでAdobeのアプリを自動化したい方向けの入門記事です。入門と言っても開発のやり方とか、文法の話ではなくそもそもJavaScriptってなんじゃらほいという話です。実際scriptを書いているとあのコードどうやって書くの?とかあの関数どうやって書くんだっけ?という壁にぶつかった時にインターネットで調べるになるはずです。しかしJavaScriptそのものの種類とか理解してないと検索やりかもわからなければどう言った種類の本を買えばいいのかというそもそもコード以前の壁にぶつかるからです。実際こう言った経験を自分自身が何度もぶつかったのでどのような方がこのサイトを見てるかわかりませ

Read more

Node jsで始めるfilesystem10 非同期ファイル操作

今回ファイル操作を非同期で行ってみます。 Node.jsでの非同期ファイル操作メソッドは同期ファイル操作のメソッドと違って結果をコールバックで受け取ります。それではフォルダーからファイル一覧を取得するfs.readdirメソッドの例から見てみます。 これは何回も見てきたように同期的にファイル一覧を取得するやり方です。これを非同期でやる場合は。 コールバックで結果を受け取ります。エラーが起きた場合はエラーもコールバックで受け取るのが通例です。これをPromiseで結果を受け取ってasync awaitを使えば見た目が同期処理のようなコードを書き込めます。 しかしreaddir他、mkdirやre

Read more

Node jsで始めるfilesystem9 async await配列処理

非同期処理も処理内容が増えるにつれてまとめて処理したくなるでしょう。同期処理でやっているようにforEachのように。 普通に上から下に書くだけだと冗長な処理になります。これが何十回と繰り返しになるとうんざりしますね。避けるべきでしょう。これを配列処理でまとめて処理します。 for文の中にawait構文を組み込むだけで配列の非同期処理が可能になります。但し実際実行するとわかるのですがfor文の場合逐次的に配列の中身を処理するので並列処理と比べて遅くなりがちです。(このコードの場合毎回timeOut関数が終わってから次のtimeOut関数に移るので2秒+2秒+2秒の処理時間になる)並列処理で処理

Read more

Photoshop Extesnion QuickOut

元々の本職はPhotoshopによる切り抜きだった自分にとって切り抜きの効率化は自動化の原点であります。徹底して切り抜きを効率していった結果切り抜き作業を自動化してExtension化しました。そんなわけでExtension QuickOutの更新をしました。被写体を選択との違いは影を残してくれる所、処理が早い所でECサイト向きでしょうか。内部的には色域処理を利用して対象の色はヒストグラムからとっています。商品周りのゴミなんかも飛ばしてくれて背景と商品の色がはっきりしている画像に関しては下手に人ので切り抜くより早く加工できるでしょう。 概要 スタジオなんかで撮影された商品の背景を自動的に切り抜

Read more

Node jsで始めるfilesystem8 async await error

async await の基本は非同期処理を同期処理のように書けるということでした。しかしエラー処理についてまで触れていません。promiseの場合メソッドチェーンにcatchをつなげてエラーをキャッチしていました。async,awaitのエラー処理はいくつかのやり方に別れます。おそらく最もわかりやすいのはtry catchで同期処理のようにキャッチする方法ではないしょうか。 いくつもの非同期処理関数を実行する場合もtry catchで括って一括で管理できます。Promiseがrejectを返した場合はそのままキャッチされるのでわかりやすい。勿論try内でエラーを普通にthrowした場合もキャ

Read more

最近のコメント

Other link

最近のコメント

Close