このページの2つのバージョン間の差分を表示します。
adobe:photoshop:get_text_layer_size [2018/10/28 21:06] 42.125.139.24 作成 |
adobe:photoshop:get_text_layer_size [2019/08/04 12:11] (現在) ochiaimitsuo |
||
---|---|---|---|
行 1: | 行 1: | ||
====== テキストレイヤーのフォントサイズを取得するスクリプト ====== | ====== テキストレイヤーのフォントサイズを取得するスクリプト ====== | ||
+ | Adobe Photoshopでテキストレイヤーのフォントサイズを取得します。 | ||
+ | |||
+ | ## Adobe Photoshop Script API | ||
+ | <code JavaScript> | ||
+ | var fontSize = activeDocument.activeLayer.textItem.size; | ||
+ | alert(fontSize); | ||
+ | </ | ||
+ | |||
+ | このAPIには不具合があり、テキストレイヤーの変形を行うと正しいフォントサイズを取得できません。変形したテキストレイヤーのフォントサイズを取得したい場合は、次のスクリプトを試してください。 | ||
+ | |||
+ | ## トランスフォーム拡縮対応したスクリプト | ||
<code JavaScript> | <code JavaScript> | ||
var layer = app.activeDocument.activeLayer; | var layer = app.activeDocument.activeLayer; | ||
- | var textSize | + | var fontSize |
function getFontSize(layer){ | function getFontSize(layer){ | ||
行 9: | 行 20: | ||
ref.putEnumerated( charIDToTypeID(" | ref.putEnumerated( charIDToTypeID(" | ||
var desc = executeActionGet(ref).getObjectValue(stringIDToTypeID(' | var desc = executeActionGet(ref).getObjectValue(stringIDToTypeID(' | ||
- | var textSize | + | var fontSize= desc.getList(stringIDToTypeID(' |
if (desc.hasKey(charIDToTypeID(" | if (desc.hasKey(charIDToTypeID(" | ||
var mFactor = desc.getObjectValue(charIDToTypeID(" | var mFactor = desc.getObjectValue(charIDToTypeID(" | ||
- | | + | |
} | } | ||
- | return | + | return |
}; | }; | ||
- | alert(textSize); | + | alert(fontSize); |
+ | </ | ||
+ | |||
+ | |||
+ | ## トランスフォームに対応したスクリプト | ||
+ | <code JavaScript> | ||
+ | //ref: https:// | ||
+ | var size = activeDocument.activeLayer.textItem.size; | ||
+ | |||
+ | var r = new ActionReference(); | ||
+ | r.putProperty(stringIDToTypeID(" | ||
+ | r.putEnumerated(stringIDToTypeID(" | ||
+ | |||
+ | var yy = 1; | ||
+ | var yx = 0; | ||
+ | |||
+ | try { | ||
+ | var transform = executeActionGet(r).getObjectValue(stringIDToTypeID(" | ||
+ | yy = transform.getDouble(stringIDToTypeID(" | ||
+ | yx = transform.getDouble(stringIDToTypeID(" | ||
+ | } | ||
+ | catch(e) { } | ||
+ | |||
+ | var coeff = Math.sqrt(yy*yy + yx*yx); | ||
+ | |||
+ | alert(size*coeff); | ||
</ | </ |