Используя ExtendScript для Photoshop, есть ли более элегантный способ переключения режима смеси кисти, чем этот?Javascript

Форум по Javascript
Ответить
Anonymous
 Используя ExtendScript для Photoshop, есть ли более элегантный способ переключения режима смеси кисти, чем этот?

Сообщение Anonymous »

Я мог бы сказать, что я получил здесь свои деньги, используя два LLM, чтобы собрать сценарий в ExtendScript, который переключает режим смеси кисти с нормального на умножение и обратно. Я всегда хотел узнать больше о программном расширении Photoshop, но никогда не использовал для этого, до сих пор.
Интересно: это в целом, что делают LLM, создавая код, сложно понять, чтобы понять меня, мирян, или этот вывод просто выглядит как ExtendScript, когда применяется к двигателю Photoshop?
Код ниже. Мне любопытно: насколько хорош этот код вообще? Это вообще оценивается как все? Я как бы ожидаю, что много этого кода будет избыточным, а также иметь код, который ничего не делает, но я не достаточно образован, чтобы даже догадаться. < /P>
function toggleBrushBlendMode() {
try {
// Reference the brush tool options
var ref = new ActionReference();
ref.putProperty(charIDToTypeID("Prpr"), stringIDToTypeID("tool"));
ref.putEnumerated(charIDToTypeID("capp"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));

var toolDesc = executeActionGet(ref);
if (!toolDesc.hasKey(stringIDToTypeID("currentToolOptions"))) {
throw new Error("No currentToolOptions found.");
}

var options = toolDesc.getObjectValue(stringIDToTypeID("currentToolOptions"));
var currentBlendMode = options.getEnumerationValue(stringIDToTypeID("mode"));
var currentModeStr = typeIDToStringID(currentBlendMode);

// Decide on the new mode
var newMode = (currentModeStr === "normal") ? "multiply" : "normal";

// Set the brush tool options with new blend mode
var desc = new ActionDescriptor();
var toolRef = new ActionReference();
toolRef.putClass(stringIDToTypeID("paintbrushTool"));
desc.putReference(charIDToTypeID("null"), toolRef);

var optionsDesc = new ActionDescriptor();
optionsDesc.putEnumerated(stringIDToTypeID("mode"), stringIDToTypeID("blendMode"), stringIDToTypeID(newMode));
desc.putObject(charIDToTypeID("T "), stringIDToTypeID("paintbrushTool"), optionsDesc);

executeAction(charIDToTypeID("setd"), desc, DialogModes.NO);
} catch (e) {
alert("Error: " + e.message);
}
}

toggleBrushBlendMode();

< /code>
Что вы думаете? Достаточно ли это хорошо для переключателя режима смеси? Я питал их вывод обратно к ним, чтобы, надеюсь, приблизиться к решению моей действительно небольшой проблемы: я хотел иметь возможность переключаться между режимами смешивания на нажатию кнопки.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-a-brus
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»