illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是删除所选锚点,开发一个删除所选锚点功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示:
var PMSLibs = confirm("此脚本用于删除所选锚点\n用自由选择工具选择要删除的锚点并运行本脚本\n脚本会删除所选锚点并连接所选锚点两端的锚点\n\插件定制,手机微信:18928899728");
main();
function main(){
if(documents.length < 1) return;
var s = activeDocument.selection;
if(!(s instanceof Array) || s.length < 1) return;
var pathes = [];
extractPathes(s, 0, pathes);
var p, j;
for(var i = pathes.length - 1; i >= 0; i--){
p = pathes[i].pathPoints;
for(j = p.length - 1; j >= 0; j--){
if(isSelected(p[j])){
if(p.length < 2) break;
p[j].remove();
}
}
if(p.length < 2 && isSelected(p[0])) pathes[i].remove();
}
redraw();
}
// ----------------------------------------------
function isSelected(p){ // PathPoint
return p.selected == PathPointSelection.ANCHORPOINT;
}
// --------------------------------------
function extractPathes(s, pp_length_limit, pathes){
for(var i = 0; i < s.length; i++){
if(s[i].typename == "PathItem"){
if(pp_length_limit > 0
&& s[i].pathPoints.length <= pp_length_limit) continue;
pathes.push( s[i] );
} else if(s[i].typename == "GroupItem"){
extractPathes( s[i].pageItems, pp_length_limit, pathes);
} else if(s[i].typename == "CompoundPathItem"){
extractPathes( s[i].pathItems, pp_length_limit, pathes);
}
}
}
合理的脚本代码可以有效的提高工作效率,减少重复劳动。
欢迎光临知了软件开发网络平台,本公司定制开发各类软件,主要方向为桌面专业软件开发和插件定制开发,桌面软件主要包括文字图形识别类软件,信息管理类软件,3D打印类软件,视频类软件以及其它涉及专业的各类图形图像处理软件。插件包含AE插件,AI插件,PS插件,PDF插件,3DMAX插件以及Word,Excel等Office插件开发。详情请咨询,微信QQ:312117271,手机:18928899728. 公司网址:http://www.zhiliaos.com