タグ

ブックマーク / kamiseto.hatenadiary.org (22)

  • 私的illustraotスクリプトの整理と実行 - なにする?DTP+WEB

    スクリプトは目的別にフォルダに分けます。 それぞれのフォルダの中にあるスクリプトは アルファベット+説明分で構成します。 ここまで整頓すればあとは気持ちよく実行するだけです。 例えばテキストの連結がしたいと思ったら 例えば続けてアートボードをフィットさせたいと思ったら と、こんな感じでほぼ何も考えないでスクリプト実行することが出来ます。 なれると気持ちいいですよ。 私的illustraotスクリプトの整理と実行でした。 【追記】 Windowsだと直前に使用したフォルダを覚えてくれないのでうまくいきません。orz OSXでもLionはFinderがヌルっとして全然気持ちよくない。MountainLionは改善されたので大丈夫。

    私的illustraotスクリプトの整理と実行 - なにする?DTP+WEB
  • BridgeTalkのonReceiveの正体がようやく判ったよ - なにする?DTP+WEB

    夏の暑さも和らいで かなり過ごしやすくなってきた今日この頃 みなさまはいかがお過ごしでしょうか。 さてデバックが面倒で敬遠されがちなBridgeTalk。 いままで気になってはいたのですがようやくBridgeTalk.onReceive関数の使い方が判りました。 いままで、BridgeTalkといえば見送ったあとはonResult関数で帰還を待つしか手段がないと思っておりました が…実はonReceive関数で何度も顔を覗きに戻ってこれるようなのです。 実際のソースは以下の通り。 InDesign側からBridgeTalkを一回だけ投げたあとは、 Photoshop側から何度もBridgeTalkでInDesign側に顔を出す仕掛けです。 そこで重要になるのがonReceive関数。 あっちにいったりこっちにいったりとなかなか落ち着きのない子なのですが 使い方によっては面白いことが出来るか

    BridgeTalkのonReceiveの正体がようやく判ったよ - なにする?DTP+WEB
  • doEx.jsxのチートシート - なにする?DTP+WEB

    完全に自分用ですが。 コメントを頂いたので追記: Startup Scriptsフォルダに起動時に見込みたいファイルをコピー(エイリアスも可)することで #includepathと#includeが必要なくなります。 "CS6"の部分はバージョン名で置き換えて下さい。 Windowsの場合 "C:\Program Files\Adobe\Adobe Illustrator CS6\Startup Scripts\doEx.jsx" MacOSXの場合 "/Library/Application\ Support/Adobe/Startup\ Scripts\ CS6/Illustrator/"

    doEx.jsxのチートシート - なにする?DTP+WEB
  • InDesignのJavaScriptからGrowlに通知を出す【OSX】その2 - なにする?DTP+WEB

    InDesignCS3から任意のメニューに対してスクリプからイベントを追加できます。 それを利用して、JavaScriptのeventListenersで任意のmenuActionに対してイベントを追加して、Growlで通知させてみました。 下記のスクリプトはコピーとペーストとカットをするといちいち知らせてくれます。 ここまですると、ちょっといじくらしいかも? 操作説明してる時、 コマンド操作だと判りずらいので こんな風に何をしたか画面に出ると 聞いてる方も、説明している方も幸せになれるかもです。 スクリプトは適当な名前をつけてスタートアップスクリプトに登録します。 InDesignのJavaScriptからGrowlに通知を出す【OSX】のスクリプトも'InDesignSendGrowlNotify.js' として読み込んでいますので、気をつけて下さい。 #targetengine "s

    InDesignのJavaScriptからGrowlに通知を出す【OSX】その2 - なにする?DTP+WEB
  • doEx.jsxについての簡単な説明2 - なにする?DTP+WEB

    舌の根が乾かないうちに、勢いにまかせて連投します。 というか、機能を追加しました。すでにダウンロードされている方はダウンロードしなおしてください。 追加した機能は「選択したものを表のようにあつかうため?のクラス(多方向対応/インデザイン・イラストレーター対応版)」です。 あといろいろ。肥大化したソースはとうとう1000行を超えてしまいました。 目玉機能の紹介説明が難しい機能なんですが無理矢理説明すると… #include 'doEx.jsx' doEx(activeDocument.pathItems).hvg().view(); 上のスクリプトを実行するとこうなります。 横の■と□で表現したグリッド的なものがスクリプトで認識したオブジェクトの形状になります。 また別の場合は、こうなります……。 なんだかちょっと違うな〜ってときは #include 'doEx.jsx' doEx(acti

    doEx.jsxについての簡単な説明2 - なにする?DTP+WEB
  • 今回はちょっとタグ(Tag)のお話でも… - なにする?DTP+WEB

    たまには更新でもしとこうかと。 いつものとおりイラストレーターのスクリプトの話なんですがね。 今回はちょっとタグ(Tag)のお話でも… タグと聞くと皆さん何を想像されますか? 私はタブと空目しておりました。 ええーーーーーーーーーーーーーーーーーっ よく見るとタグだったんですww オブジェクトモデルビューアーの説明分を見ても良く判らない、これがw Tag Adobe Illustrator CS4 Type Library A tag associated with a piece of artwork.Tags Adobe Illustrator CS4 Type Library The collection of tags associated with a page item.ググってみてもなかなかサンプルが見つからない。 なんぞコレということで試してみた。 そして判りました。 簡単

    今回はちょっとタグ(Tag)のお話でも… - なにする?DTP+WEB
    kanemu1117nc
    kanemu1117nc 2011/01/08
    nameを使わなくてもパラメータ入れる場所がある?
  • イラストレーターで吹き出しを作る時に使うスクリプト - なにする?DTP+WEB

    雲形の吹き出しを作る時どうしてますか? パスの変形から「パンク・膨張…」を使ったり、 円を繋げて作ったり、手で書いた物をトレースしたり 適当にペンツールで作ったり。 やり方はいろいろあると思います。 さて今日は、 その中にスクリプトで作るという選択肢を一つ 追加したいと思います。 たとえば、こんな感じの図形をパスで描きます。 てっとり早く「パンク・膨張…」で作ろうとするとこんな形になります。 正直、あまり好きな形ではありません。 いかにもイラストレーターの「パンク・膨張…」を使いましたという形になります。 そこでスクリプトを使います。 僕の好みの形です。 (だってその為にスクリプトを書いたんだから…) これからは、このスクリプトを使いましたという形でいこうと思います。 ダウンロードはこちらから イラストレーターで吹き出しを作る ※イラストレーターCS3以降で動作します。 ※終了するときはE

    イラストレーターで吹き出しを作る時に使うスクリプト - なにする?DTP+WEB
  • まとめてマスク。 - なにする?DTP+WEB

    インデザインだとドラッグアンドドロップするだけで狙ったボックスの中に配置してくれるのに。 それと比べるとイラストレーターのマスクは数があると途端に手間のかかる作業になってしまう。 そんな時はやっぱり… スクリプトで解決するのでした。 上の画像のようなボックスに画像を当てはめていく作業があったとして、 とりあえずドラッグアンドドロップで画像を配置します。 入れたいパスに対応するように適当にならべる そしてスクリプトを実行すると 狙ったボックスに対応するように画像をマスクします。 おお、ラクチン。 あとは手調整 ダウンロード //2010-02-13 とりあえず #include 'c.js'; #include 'hvg.js'; #target 'illustrator'; (function(){ function my_error (message){ alert(message);

    まとめてマスク。 - なにする?DTP+WEB
  • イラストレーターのオブジェクトをピクセルに揃えるスクリプト - なにする?DTP+WEB

    イラレTIPS:イラレでスライスがズレないようにする=イラレでアンチエイリアスをコントロールするにて紹介されてるWEBに画像を書き出す際にピクセルに揃える方法は知っているととても便利ですね。 でも、最初からそうしてればいいんだけど、途中から気づいたり既にある物をピクセルに揃える時はどうするの?という時に使うスクリプトです。 最新版のイラストレーターではそういうのも解消されているとかいなとか? スクリプト自体は随分前に書いたものです。 今でも、適当に作ったものを後からWEB用に書き出す時に、たまに使います。需要があればどうぞ。 四角を綺麗にピクセルに揃えるのに便利です。 ダウンロード main(); function main(){ if (documents.length<1) return; var s = activeDocument.selection; if (!(s instan

    イラストレーターのオブジェクトをピクセルに揃えるスクリプト - なにする?DTP+WEB
  • インデザインのmetadata情報からxapGImgをJPEGで保存するスクリプト - なにする?DTP+WEB

    アドビのフォーラムのExtract indesign previewより ほぼそのまんまのスクリプトです。 これを参考にすれば以前、挑戦してあきらめてたAIファイルからサムネールを取り出す試み【失敗】も解決できそう。 /*The Base 64 decoder is from Stephen Ostermiller's site: http://ostermiller.org/calc/encode.html Preview extractor from Thomas Nielsen */ var file_name = 'thumb.jpg'; var saveFol = Folder.selectDialog (); var END_OF_INPUT = -1; var base64Chars = new Array( 'A','B','C','D','E','F','G','H',

    インデザインのmetadata情報からxapGImgをJPEGで保存するスクリプト - なにする?DTP+WEB
  • ExtendScript ToolKitの中身をのぞく - なにする?DTP+WEB

    Illustrator、Photoshop、InDesignのJavaScriptを書く人にはおなじみの「ExtendScript ToolKit」ですが、これ実は…中身をのぞくとかなりの部分がJavaScriptで記述されております。 OSXだったら、「ExtendScript Toolkit」をパッケージの中身をのぞくで開いてContents>SharedSupprt>Requiredと辿って行けば大量のJavaScriptファイルにぶち当たる。 Windowsだったら、「ExtendScript Toolkit」内の「Required」フォルダの中。 00globals.jsxから始まって99lang.jsxまで、50近いJavaScriptファイルが存在します。 番号が若い順から読み進めていけば…。 また、いっしょのフォルダに入っているsyntaxdefs.xmlがシンタックスハイ

    ExtendScript ToolKitの中身をのぞく - なにする?DTP+WEB
  • ScriptUIのFlashPlayerについて調べる - なにする?DTP+WEB

    CS3からはScriptUIでFlashを読み込み利用できるようになっています。 Flashを利用することでリッチなGUIが使えるはずなのです。 そこで「JavaScript Tools Guide CS3.pdf」を読んでみました。 が…サッパリ判りません、 イメージがつかめないので実際に動作するサンプルを 探してみました。 見つけたのは以下の2つ Adobe - Illustrator Developer Centerにある「flashpanel.zip」 入っているのはFlashPanel.jsxといくつかのSWFファイル、 SWFファイルはMXMLで書かれたソースも添付されています。 FlashがなくてもFlexSDKでいろいろ試すことができます。 添付されている「ScriptingIllustratorFromFlash.pdf」も参考になります。 Indesign palett

    ScriptUIのFlashPlayerについて調べる - なにする?DTP+WEB
  • イラストレーターからWEBへアクセスする方法 - なにする?DTP+WEB

    インデザインではSocket通信が利用できるのだけど、 残念ながらイラストレーターでは利用できません。 あっちでは出来て、こっちでは出来ないことが多々あります。 実装の仕方が開発チーム毎に違うのでしょう。 残念なことです。 そこでActionScriptのURLLoaderを利用する方法を 思いついたので、さっそく試してみました。 結果はバッチリです。 ちゃんと内容を拾ってきてくれました。 サンプルファイルはこちら→URLLoaderSample.zip DTPアプリケーションからWEBにアクセスできるということは、 便利になる反面、とても危険なことでもあります。 もしかしたら、開けてはいけない「パンドラの箱」だったのかもしれません。(笑)

    イラストレーターからWEBへアクセスする方法 - なにする?DTP+WEB
  • イラストレーターのスクリプトを高速化させるためのコツ - なにする?DTP+WEB

    2つのスクリプトの速さの違いはどこにある。 - なにする?DTP+WEBで スクリプトの実行速度の違いに釈然としないままだったのですが。 Mr.Riさんより大変有用なサンプルを公開していただきました。 丁寧なコメント付ですごく参考になりました。 Mr.Riさんのページには便利なスクリプトが沢山公開されています。 Mr.Ri HomePage/ステレオ写真・山めしレシピ・DTPツール そでれは、サンプルから解ったことを書いていこうとおもいます。 自分の書いたスクリプトが遅くて悩んでいる方必見ですよ。 イラストレーターのドキュメント中で、沢山のパスの中から0.3pt以下の線を抜き出すスクリプト。 普通に書くとこう書くと思う。 (function(){ var X = (new Date).getTime(); //----------------------------------- var

    イラストレーターのスクリプトを高速化させるためのコツ - なにする?DTP+WEB
    kanemu1117nc
    kanemu1117nc 2009/11/14
    オブジェクトにアクセスする回数が増えれば処理が遅くなるはず(ループさせる前にvar L = P.length;で数を固定するとその分速くなったり)。PathItemを配列にする際に、個数分Layerにもアクセスしてるのかな?
  • 2つのスクリプトの速さの違いはどこにある。 - なにする?DTP+WEB

    ドキュメント上の“塗りに線”を“線”に変更してくれるIllustratorのJavaScript『ヘアラインレタッチ』 | DTPデザイナーの育児日記でイラストレーターのスクリプトの話題があったのだけど、 そこに出てくる2つのスクリプト、 イラレで便利さんの『塗り線さがし』と Mr.Riさん DTP宝箱の『ヘアラインレタッチ』の 実行速度について触れられている。 ふ〜んそうなんだ。 ……。 これで終わったんじゃ、この話はここでおしまいなんだけど。 もうちょっと掘り下げて、両方のスクリプトを読んでみてわかったことを書いてみる。 両方のスクリプト共にまず スクリプトの最初に var X = (new Date).getTime(); 最後に var Y = (new Date).getTime(); alert(Y-X); を挿入にて実行速度を測ってみる。 それぞれ、 「塗り線さがし.jsx

    2つのスクリプトの速さの違いはどこにある。 - なにする?DTP+WEB
  • イラストレーターで正規表現とテキストの変形 - なにする?DTP+WEB

    「す。」をスクリプトで詰めてみる - なにする?DTP+WEBにインターフェースをつけてみた。 正規表現で見つけたテキストに指定した値を適用します。 入力した数値についてチェックしてませんので、 それぞれ適切な数値を入力してください。 おもしろいのは、文字パレットだと文字詰めは100%までしか選べませんが スクリプトからだと1000とか入れれますので1000%の詰めとか可能です。 アキも、文字パレットだと「二分とか三分」になっていますが、 スクリプトだと数値で管理しているが分かります。 ダウンロード 簡単ですが正規表現の簡易サンプル [0-9]:半角数字 [A-Za-z]:アルフェベットの大文字小文字 [ぁ-ん]:ひらがな [ァ-ン]:カタカナ [ぁ-んァ-ン]:ひらがな・カタカナ [一-龠]:漢字 (追記) 上の例だと1文字ずつマッチしますが、 「+」を追加することにより連続した文字にマ

    イラストレーターで正規表現とテキストの変形 - なにする?DTP+WEB
  • JavaScriptからアプリケーションが起動しているかどうか調べる。 - なにする?DTP+WEB

    Adobe Forums:How to know if ID is runningより 忘れないうちにメモ。 BridgeTalkを使って調べることができます。 (function(appname,version){ return BridgeTalk.getSpecifier(appname) ? ( //インストールされているか? BridgeTalk.getSpecifier(appname).search(/\d+/) >= version ? ( //バージョンは? BridgeTalk.isRunning(appname) ? true : "error : "+appname+" is not running" //アプリケーションが起動しているか? ) : "error : "+appname+" is not request version" ) : "error : "

    JavaScriptからアプリケーションが起動しているかどうか調べる。 - なにする?DTP+WEB
  • BridgeTalkまとめ…というか覚え書き - なにする?DTP+WEB

    BridgeTalkについてできるだけまとめてみる。 というか、現在自分が理解できている範囲の覚え書きです。 BridgeTalkするアプリケーションのバージョンを指定 bt.target = "illustrator"; と書いていて、同じCSのバージョン同士でしか使えないと思ってたんだけど、CS3以降であればCSバージョンをまたいで指定することができる。 bt.target = "illustrator-13.0";//Bridge CS3 bt.target = "illustrator-14.0";//Bridge CS4 BridgeTalkは同期も非同期もいける BridgeTalkは非同期なのかと勘違いしていたんだけど、 onResultに無名関数でもいいのでonResultに関数を設定すれば、 処理が終わるまで待ってくれるみたい。 bt.onResult = functio

    BridgeTalkまとめ…というか覚え書き - なにする?DTP+WEB
  • BridgeTalkにスクリプトを渡すにはuneval()を使うといいみたい。 - なにする?DTP+WEB

    先日のエントリーでBridgeTalkでbodyにスクリプトを渡すには uneval(hoge)したらいいよというアドバイスを頂きさっそく試してみました。 (function(){ var CropImage = function(X){ alert(typeof X); } var bt=new BridgeTalk(); bt.target = "illustrator"; bt.body = uneval (CropImage)+"()"; bt.send(); })(); なるほど、とっても便利です。 いままでいちいちクォートで囲んでいたのがバカらしくなります。 (function(){ var NUM = 12.3; var CropImage = function(X){ alert(typeof X); } var bt=new BridgeTalk(); bt.target

    BridgeTalkにスクリプトを渡すにはuneval()を使うといいみたい。 - なにする?DTP+WEB
  • イラストレーターに貼り付けた画像をパスを元に分割する:CropPlacedItem - なにする?DTP+WEB

    さてさて、これは何の写真か判りますか? これは元々1枚の車の写真をバラバラにしたものです。 なんて、くだらないクイズはさておき。 1枚の画像をこれだけバラバラにするのは結構めんどくさいですよね? ということでスクリプトを書いてみました。 画像上のパス情報を元に画像を切り抜くスクリプト。 こんな風にバラバラになります。 何をやってるかというと、パス情報を元にBridgeTalkを使って Photoshopで画像を切り抜いて別名保存して、 その切り抜いた画像をパスの位置に貼り付けます。 細かいエラー処理とかしてないのでお家使い用です。 動作はOSX上のCS3で行っています。動かなかったらあしからず。 #include 'c.js';//http://svn.coderepos.org//share/platform/illustrator/javascript/lib/c.js #includ

    イラストレーターに貼り付けた画像をパスを元に分割する:CropPlacedItem - なにする?DTP+WEB