選択フレーム(1個)を分割数と間隔指定でバラします。
promptまとめたいけど放置……。
//横に分割 app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT); function main (){ var sel = app.activeDocument.selection[0]; var N=prompt ("分割数","2"); if(N==null)exit(); var S=prompt("間隔","2"); if(S==null)exit(); var G=sel.geometricBounds; var W=(G[3] -G[1]-(S*(N-1)))/N; for(i=0;i<N-1;i++){ sel.geometricBounds=[G[0],G[1],G[2],G[1]+W]; sel.duplicate(undefined,[(i+1)*W+(i+1)*S,0]); } }
//縦に分割 app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT); function main (){ var sel = app.activeDocument.selection[0]; var N=prompt ("分割数","2"); if(N==null)exit(); var S=prompt("間隔","2"); if(S==null)exit(); var G=sel.geometricBounds; var H=(G[2] -G[0]-(S*(N-1)))/N; for(i=0;i<N-1;i++){ sel.geometricBounds=[G[0],G[1],G[0]+H,G[3]]; sel.duplicate(undefined,[0,(i+1)*H+(i+1)*S]); } }
追記 まとめる方法きいてみました
parseIntて何かしらと検索すると使わんほうがいいとのこと
JavaScript で parseInt / parseFloat を使わない方が良い理由