公開日:2017年12月25日
メリクリーーー∠( ゚д゚)/ オブジェクトと罫線がクロスするとき、四方を白抜きするのはよくやりますが、「左右だけヌキたい」というアクロバティックな指定が来ることがよくあります(あるんです)。それをなんとかするスクリプトです。
これが、
こうなります。
使用後、下地のオブジェクトと元のオブジェクトはグループ化されます。
//選択オブジェクトの左右にだけ伸びた下地をつくる
//1.選択オブジェクトと下地用のスウォッチを定義
var selObj=app.activeDocument.selection[0];
var white=app.activeDocument.swatches.itemByName("Paper");
//2.選択オブジェクトの座標、および下地に使うオフセット値を設定
var selObjBounds=selObj.visibleBounds;
var offset=1;
//3.選択オブジェクトの座標をもとに下地オブジェクト作る
var groundObj=app.activeDocument.rectangles.add();
with(groundObj){
visibleBounds=[selObjBounds[0],selObjBounds[1]-offset,selObjBounds[2],selObjBounds[3]+offset];
fillColor=white;
sendToBack(selObj);
}
//4.選択オブジェクトと下地をグループ化
app.activeDocument.groups.add([selObj,groundObj]);
//選択オブジェクトの左右にだけ伸びた下地をつくる
//1.選択オブジェクトと下地用のスウォッチを定義
var selObj=app.activeDocument.selection;
var white=app.activeDocument.swatches.itemByName("Paper");
var selObjCount=selObj.length;
for(var i=selObjCount-1; i > -1;i--){
//2.選択オブジェクトの座標、および下地に使うオフセット値を設定
var selObjBounds=selObj[i].visibleBounds;
var offset=1;
//3.選択オブジェクトの座標をもとに下地オブジェクト作る
var groundObj=app.activeDocument.rectangles.add();
with(groundObj){
visibleBounds=[selObjBounds[0],selObjBounds[1]-offset,selObjBounds[2],selObjBounds[3]+offset];
fillColor=white;
sendToBack(selObj[i]);
}
//4.選択オブジェクトと下地をグループ化
app.activeDocument.groups.add([selObj[i],groundObj]);
}
//選択オブジェクトの下辺にだけ伸びた下地をつくる
//1.選択オブジェクトと下地用のスウォッチを定義
var selObj=app.activeDocument.selection[0];
var white=app.activeDocument.swatches.itemByName("Paper");
//2.選択オブジェクトの座標、および下地に使うオフセット値を設定
var selObjBounds=selObj.visibleBounds;
var offset=1;
//3.選択オブジェクトの座標をもとに下地オブジェクト作る
var groundObj=app.activeDocument.rectangles.add();
with(groundObj){
visibleBounds=[selObjBounds[0],selObjBounds[1],selObjBounds[2]+offset,selObjBounds[3]];
fillColor=white;
sendToBack(selObj);
}
//4.選択オブジェクトと下地をグループ化
app.activeDocument.groups.add([selObj,groundObj]);