QQ登录

只需一步,快速开始

查看: 125|回复: 0
收起左侧

Illustrator 2024 提取所有图片(带蒙版)到新图层的脚本

[复制链接]
累计签到:3 天
连续签到:1 天
发表于 2025-3-14 16:27:12 | 显示全部楼层 |阅读模式
大佬帮把这个改下,这个脚本提取图片到新图层,蒙版被释放了,帮改成蒙版不要释放。
#target Illustrator
var doc = app.activeDocument;
var newLayer = doc.layers.add();
newLayer.name = "图片";

var itemsToMove = [];
var maskInfo = [];

// 遍历文档中的所有页面项
for (var i = 0; i < doc.pageItems.length; i++) {
    var item = doc.pageItems[i];

    // 提取嵌入/链接图片
    if (item.typename === "PlacedItem" || item.typename === "RasterItem") {
        itemsToMove.push(item);
    }

    // 提取包含剪切蒙版的编组
    if (item.typename === "GroupItem" && item.clipped) {
        itemsToMove.push(item);
        var currentMaskInfo = {
            mask: null,
            maskedItems: []
        };
        for (var j = 0; j < item.pageItems.length; j++) {
            var subItem = item.pageItems[j];
            if (subItem.isMask) {
                currentMaskInfo.mask = subItem;
            } else {
                currentMaskInfo.maskedItems.push(subItem);
            }
        }
        maskInfo.push(currentMaskInfo);
    }
}

// 移动符合条件的元素到新图层
for (var k = 0; k < itemsToMove.length; k++) {
    var targetItem = itemsToMove[k];
    targetItem.move(newLayer, ElementPlacement.PLACEATEND);
}

// 在新图层中重新应用剪切蒙版
for (var l = 0; l < maskInfo.length; l++) {
    var currentInfo = maskInfo[l];
    var newGroup = newLayer.groupItems.add();

    // 移动蒙版到新组
    if (currentInfo.mask) {
        currentInfo.mask.move(newGroup, ElementPlacement.PLACEATSTART);
        currentInfo.mask.isMask = true;
    }

    // 移动被蒙版的对象到新组
    for (var m = 0; m < currentInfo.maskedItems.length; m++) {
        currentInfo.maskedItems[m].move(newGroup, ElementPlacement.PLACEATEND);
    }

    // 应用剪切蒙版
    if (newGroup.pageItems.length >= 2) {
        newGroup.clipped = true;
    }
}

alert("已提取 " + itemsToMove.length + " 个对象到新图层,并重新应用剪切蒙版!");

华印网相关搜索

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

注意注意注意:必看上一条 /1 下一条

华印网 - 华印社区
Share More 周一至周日:09:00 - 21:00
华印网旗下的设计印刷制作类专业技术站点
请勿发布违反国家法律法规的内容,会员观点不代表本站立场
企鹅群号:119572101

华印网汇集印前印后技术、PDF拼版、防伪包装、数码印刷、合版印刷、图文设计、平面设计、数码印刷及CTP等最新印刷技术,提供软件汉化、插件汉化、cdr插件、ai插件、ps插件、pdf插件、印刷流程、ctp输出、印刷软件、印能捷、esko、CorelDRAW、InDesign、Illustrator、CTP、CDR以及PDF软件下载的综合性印刷论坛社区!

Powered by Discuz! X3.4 © 2001-2021,Tencent Cloud.

站点地图|小黑屋|手机版|Archiver|华印 ( 粤ICP备19020152号-1 )

GMT+8, 2025-4-2 23:07 , Processed in 0.029344 second(s), 18 queries , Gzip On, Yac On.

快速回复 返回顶部 返回列表