PhotoshopやillastratorなどAdobe製品でJavascriptを使ったマクロが組めるって話を以前から聞いていましたが、なかなか触る機会が無かったので弄ってみました。
[処理内容]
・フォルダ内のjpg画像の一覧を取得
・ファイルを開いて440pxにリサイズ
・画像をサムネール画像にコピペ
・画像の位置調整(4段6コマの24コマ構成)
・テキストでナンバリング
・ファイルに保存して次のファイルを作成
わざわざPhotoshopでしかもJavascriptでやるような内容じゃないんですけどね(^^;
Javascriptでファイル操作ってあんまりしないし、FileSystemベースとは違うAdobeオリジナルオブジェクトってこともあって色々と苦労しました。。。
特に癖があるな~って思ったことがいくつかありました。。。
・テキストレイアは一般レイヤーのkind(種類)フラグを変更すると内容(オブジェクト)が変わる。キモイよ~。。。
・テキストレイヤー位置を指定して書けない。。。
・絶対位置への移動機能が無い。。。何故に!?
・画像を選択範囲でしかコピーできなさげなところ
レイヤーのコピー機能が無い。。。どういうこと!?
・コピペする場所を指定できない。
キャンバスの中心に画像の中心を合わせて配置されるみたい。
規則性があってくれたところが救いでしたけど。。。左上原点を計算して、そこから再配置みたいな考え方でソースが複雑になっちゃいました。。。
っとまぁ、色々苦労したわけですけど何とか形になったかな?
ついでにオブジェクトを調べたりした結果を添付します~
以下の内容はオブジェクトのプロパティ(フィールド)とメソッドがごちゃ混ぜです。
[layer] kind, fillOpacity, layerMaskDensity, layerMaskFeather, vectorMaskDensity, vectorMaskFeather, filterMaskDensity, filterMaskFeather, grouped, isBackgroundLayer, pixelsLocked, positionLocked, transparentPixelsLocked, textItem, typename, name, allLocked, blendMode, linkedLayers, opacity, visible, bounds, xmpMetadata, parent [layer[kind=ART].textItem] contents, size, font, justify, antiAliasMethod, autoKerning, color, useAutoLeading, tracking, verticalScale, horizontalScale, baselineShift, leading, ligatures, alternateLigatures, oldStyle, position, direction, fauxBold, fauxItalic, capitalization, strikeThru, underline, language, noBreak, kind, justification, leftIndent, firstLineIndent, rightIndent, spaceBefore, spaceAfter, hangingPuntuation, textComposer, hyphenation, minimumGlyphScaling, desiredGlyphScaling, maximumGlyphScaling, minimumLetterScaling, desiredLetterScaling, maximumLetterScaling, minimumWordScaling, desiredWordScaling, maximumWordScaling, autoLeadingAmount, hyphenateWordsLongerThan, hyphenateAfterFirst, hyphenateBeforeLast, hyphenLimit, hyphenationZone, hyphenateCapitalWords, width, height, warpStyle, warpDirection, warpBend, warpHorizontalDistortion, warpVerticalDistortion, typename, parent [layer[kind=TEXT].textItem] antiAliasMethod, autoKerning, color, useAutoLeading, tracking, verticalScale, horizontalScale, baselineShift, contents, font, leading, ligatures, alternateLigatures, oldStyle, position, direction, size, fauxBold, fauxItalic, capitalization, strikeThru, underline, language, noBreak, kind, justification, leftIndent, firstLineIndent, rightIndent, spaceBefore, spaceAfter, hangingPuntuation, textComposer, hyphenation, minimumGlyphScaling, desiredGlyphScaling, maximumGlyphScaling, minimumLetterScaling, desiredLetterScaling, maximumLetterScaling, minimumWordScaling, desiredWordScaling, maximumWordScaling, autoLeadingAmount, hyphenateWordsLongerThan, hyphenateAfterFirst, hyphenateBeforeLast, hyphenLimit, hyphenationZone, hyphenateCapitalWords, width, height, warpStyle, warpDirection, warpBend, warpHorizontalDistortion, warpVerticalDistortion, typename, parent