illustrator插件-画板功能开发-页面适配对象-js脚本开发-ai插件

1.算法程序

  illustrator是矢量编辑软件,画板是绘制处理的重要容器,开发一个页面适配对象功能,源代码如下所示:

var doc = app.activeDocument;
var obj = doc.selection;
var bnd = new Array();
if (documents.length > 0) {
    if (obj.length > 0) {
        bnd = getBounds(obj);
        W = bnd[2] - bnd[0];
        H = bnd[1] - bnd[3];
        X = bnd[0];
        Y = bnd[1];
    } else {
        doc.rulerOrigin = Array(0, 0);
        bnd[0] = 0;
        bnd[2] = doc.width;
        bnd[1] = doc.height;
        bnd[3] = 0;
    }
    doc.cropBox = bnd;
    doc.cropStyle = CropOptions.Standard;
}

function getBounds(obj) {
    var selObj1 = new Array();
    var selObj2 = new Array();
    var vgb1 = new Array();
    var vgb2 = new Array();
    var n = obj.length;
    if (n > 0) {
        if (obj[0].typename == "GroupItem" && obj[0].clipped && obj[0].pageItems.length > 1) {
            clipObj = obj[0].pathItems[0].geometricBounds;
            vgb1 = clipObj;
        } else {
            selObj1 = obj[0];
            vgb1 = selObj1.visibleBounds;
        }
        if (n > 1) {
            for (var i = 1; i < n; i += 1) {
                selObj2 = obj[i];
                if (obj[i].typename == "GroupItem" && obj[i].clipped && obj[i].pageItems.length > 1) {
                    vgb2 = obj[i].pathItems[0].geometricBounds;
                } else {
                    vgb2 = selObj2.visibleBounds;
                }
                if (vgb1[0] > vgb2[0]) {
                    vgb1[0] = vgb2[0]
                }
                if (vgb1[1] < vgb2[1]) {
                    vgb1[1] = vgb2[1]
                }
                if (vgb1[2] < vgb2[2]) {
                    vgb1[2] = vgb2[2]
                }
                if (vgb1[3] > vgb2[3]) {
                    vgb1[3] = vgb2[3]
                }
            }
        }
    }
    return vgb1;
}

2.文本转执行

  使用记事本或者notepad++等文本编辑器,将代码拷贝至文本文件,然后修改后缀名为js或者jsx,最后再illustrator软件菜单文件》脚本》其它脚本,选择脚本文件,点执行即可,也可以将脚本放在预设文件夹内,会显示再脚本下的二级子菜单。如下图所示:


AI脚本执行.png

3.作者答疑


  代码长度过长,如需全部项目或有疑问,请留言。

提示: 作者知了-联系方式1
提示: 作者知了-联系方式2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容