PhotoShop+JavaScriptでサムネール

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です