Где найти список идентификаторов классов для фотошопа jsx / extendscript - PullRequest
0 голосов
/ 08 февраля 2020

Во время изучения сценариев Photoshop я узнал о Action Manager, плагине ScriptListener и о том, как он может генерировать код на основе ваших действий. Сергей Крицкий был любезен, чтобы помочь мне с предложенным решением ( Как настроить цвета большого количества изображений на основе одного spesifi c? ), но есть много идентификаторов классов - которые используется в charIDToTypeID (), чего я не понимаю (код должен быть документирован, поскольку он будет go в моей диссертации). Странно, что в photoshop- cc - javascript -ref-2019.pdf есть индекс всех идентификаторов событий, доступных в справочном центре Adobe, но не удается найти ничего похожего для идентификаторов классов. Я немного погуглил, но не могу найти ничего подобного. Я что-то не так делаю?

Например, ниже приведен код, сгенерированный для фильтра> Stylize> Emboss (пример взят из photoshop- cc -scripting-guide-2019.pdf -из справочного центра Adobe)

var idEmbs = charIDToTypeID( "Embs" );
var desc24 = new ActionDescriptor();
var idAngl = charIDToTypeID( "Angl" );
desc24.putInteger( idAngl, 135 );
var idHght = charIDToTypeID( "Hght" );
desc24.putInteger( idHght, 3 );
var idAmnt = charIDToTypeID( "Amnt" );
desc24.putInteger( idAmnt, 100 );
executeAction( idEmbs, desc24, DialogModes.NO );

«Embs» - это идентификатор события, а «Angl», «Hght», «Amnt» - идентификаторы класса. Но хотя об этом легко догадаться, такие как «Lctn», «Mdpn», «Opct» или «# Pr c» не являются (по крайней мере, новичку, как я)

1 Ответ

1 голос
/ 10 февраля 2020

Загрузите Photoshop SDK . Внутри вы найдете некоторую документацию в формате HTML.

Ключ Lctn, например, можно найти в полном «Списке файлов Adobe Photoshop SDK» внутри PITerminology.h (если честно) Я должен был использовать утилиту поиска файлов, чтобы найти ее):

#define keyLocation   'Lctn' 

В свою очередь, где это тогда используется? Есть некоторые минимальные рекомендации, где они используются в Photoshop Actions Guide.pdf; кажется, что все ваши аббревиатуры являются функцией аргументы .

Lctn, опять же, например, используется в eventStroke:

Таблица 4–36 : EventStroke Параметры (6)

Key    Type    Bounds    Options
keyWidth ('Wdth')    typeInteger   flagsSingleParameter
keyLocation ('Lctn') typeStrokeLocation ('StrL')   flagsEnumeratedParameter
keyOpacity ('Opct') unitFloat/unitPercent ('#Prc')   flagsEnumeratedParameter
keyMode ('Md ') typeBlendMode ('BldM')   flagsEnumeratedParameter
keyPreserveTransparency ('PrsT')   typeBoolean   flagsOptionalEnumeratedParameter
keyUsing ('Usrs')   typeClass ('Type')   flagsOptionalSingleParameter

Да. Это действительно плохо документировано.

...