【InDesign】選択オブジェクトから左右にのみオフセットがある下地を作る | Blue-Screeeeeeen.net―youichi7imazekiのDTPメモ―

トップページ » InDesign » 【InDesign】選択オブジェクトから左右にのみオフセットがある下地を作る

【InDesign】選択オブジェクトから左右にのみオフセットがある下地を作る

公開日:2017年12月25日 

 メリクリーーー∠( ゚д゚)/ オブジェクトと罫線がクロスするとき、四方を白抜きするのはよくやりますが、「左右だけヌキたい」というアクロバティックな指定が来ることがよくあります(あるんです)。それをなんとかするスクリプトです。

 これが、

使用前


こうなります。

使用後


 使用後、下地のオブジェクトと元のオブジェクトはグループ化されます。

 使用後、下地のオブジェクトと元のオブジェクトはグループ化


1個だけ版

//選択オブジェクトの左右にだけ伸びた下地をつくる

//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]);
}

タグ:


  • 最近の投稿

  • カテゴリー

  • 月別の記事

  • おことわり

     Adobe、InDesign、Illustrator、Photoshop、Acrobatは、Adobe Systems Incorporated(アドビシステムズ社)の米国および他の国における商標または登録商標です。本サイトでは、RおよびTMを省略しております。