landboy 发表于 2024-8-23 13:19:01

AI脚本2个物件交换颜色 只是最简陋版






AI脚本2个物件交换颜色 只是最简陋版

landboy 发表于 2024-8-23 15:46:28

蓝星音乐 发表于 2024-8-23 15:05
大哥哥,有没有替换颜色的脚本呀?





AI脚本2个物件交换颜色.jsx
AI脚本2个物件交换颜色优化.jsx
AI脚本批量物件统一颜色.jsx(这个新的基准物件要 填色和描边都有,或者自己写分支代码)
AI脚本物件填色描边颜色交换.jsx



几个脚本,代码差不多,调整一下就另一个功能。



landboy 发表于 2024-8-23 13:36:17




还可以这样写,看起来精简一点
var doc = activeDocument;
if (1 < doc.selection.length) {
    var sr = doc.selection, colors = [], c;
   
    c = sr.fillColor; colors.push(c);
    c = sr.fillColor; colors.push(c);
    c = sr.strokeColor; colors.push(c);
    c = sr.strokeColor; colors.push(c);

    sr.fillColor = colors;
    sr.fillColor = colors;
    sr.strokeColor = colors;
    sr.strokeColor = colors
};

蓝星音乐 发表于 2024-8-23 15:05:09

大哥哥,有没有替换颜色的脚本呀?

landboy 发表于 2024-8-23 15:29:14

蓝星音乐 发表于 2024-8-23 15:05
大哥哥,有没有替换颜色的脚本呀?

没去写过,AI 按轮廓色,或者填色,可以菜单中选到的,然后手工改的
脚本没去写过,怕出错

Hallian 发表于 2024-8-23 18:36:54

landboy 发表于 2024-8-23 15:46
AI脚本2个物件交换颜色.jsx
AI脚本2个物件交换颜色优化.jsx
AI脚本批量物件统一颜色.jsx(这个新的 ...

还是实现不了,就简单地调用工具栏的互换填充与描边代码,可以有么?

Hallian 发表于 2024-8-23 19:02:34

function playAction_SwitchColor() {
    var set = 'Set_SwitchColor';
    var action = 'Action_SwitchColor';
    actionStr = ['/version 3', '/name [ 15', '5365745f537769746368436f6c6f72', ']', '/isOpen 1', '/actionCount 1', '/action-1 {', '/name [ 18', '416374696f6e5f537769746368436f6c6f72', ']', '/keyIndex 0', '/colorIndex 0', '/isOpen 1', '/eventCount 1', '/event-1 {', '/useRulersIn1stQuadrant 0', '/internalName (ai_plugin_setColor)', '/localizedName [ 12', 'e8a8ade5ae9ae9a18fe889b2', ']', '/isOpen 0', '/isOn 1', '/hasDialog 0', '/parameterCount 1', '/parameter-1 {', '/key 1836349808', '/showInPalette -1', '/type (enumerated)', '/name [ 21', 'e58887e68f9be5a1abe889b2e88887e7ad86e795ab', ']', '/value 7', '}', '}', '}'].join('\n');
    createAction(actionStr, set);
    try {
    app.loadAction(f_180902);
    } catch (e) {
    alert('尚未指定路径或路径有误或文件不存在,\n请重新选取');
    }
    app.doScript(action, set);
    app.unloadAction(set, '');
    f_180902.remove();

    function createAction(actionStr, set) {
    f_180902 = new File('~/Desktop/' + set + '.aia');
    f_180902.open('w');
    f_180902.write(actionStr);
    f_180902.close();
    f_180902.hidden = true;}}
这段动作代码,怎么能转化成纯JS代码

landboy 发表于 2024-8-23 21:56:31

Hallian 发表于 2024-8-23 19:02
这段动作代码,怎么能转化成纯JS代码

你这个录制一个动作,然后使用脚本播放动作。
你操作工具栏的 颜色切换,快捷键 X 切换就好了,用什么脚本呢。
页: [1]
查看完整版本: AI脚本2个物件交换颜色 只是最简陋版