クリエイター手抜きプロジェクト[508]Adobe Illustrator CS6〜CC 2015編 画像にたいして複数のマスキングをまとめて行う
── 古籏一浩 ──

投稿:  著者:



今回は、Illustratorスクリプトを三種類説明します。まず、画像にたいして複数のマスキングをまとめて行うスクリプトです。

まずマスクしたい画像を一枚配置し、その上にマスクパスを複数描画します。その後、マスクしたい画像と複数のパスを選択して、このスクリプトを実行します。

すると、画像がマスクパスでくり抜かれます。一つずつ処理するより格段に素早く処理できます。




// 画像にたいして複数のマスキングをまとめて行う
(function (){
var selObj = app.activeDocument.selection;
if (selObj.length == 0){
alert("画像とマスク図形を選択してください");
return;
}
var list = [];
// マスク画像を求める
var img = null;
for(var i=0; i<selObj.length; i++){
if((selObj[i].typename == "PlacedItem") || (selObj[i].typename == "RasterItem")){
img = selObj[i];
break;
}
list.push(selObj[i]); // マスク図形を配列に入れる
}
// マスクする
for(var i=0; i<list.length; i++){
app.executeMenuCommand("deselectall");
var temp = img.duplicate();
temp.selected = true;
list[i].selected = true;
app.executeMenuCommand("makeMask");
}
img.remove();
})();


次は、選択した図形などがアクティブになっているアートボードだけに絞るスクリプトです。図形を選択した後、このスクリプトを実行すると、アクティブになっているアートボード内にある図形だけが、選択状態になります。


// 選択範囲をアクティブなアートボードに絞る
(function (){
var selObj = app.activeDocument.selection;
if (selObj.length < 1){
alert("選択されていません");
return;
}
for(var i=0; i<selObj.length; i++){
selObj[i].commonFlag = true;
}
app.executeMenuCommand("selectallinartboard");
var selObj = app.activeDocument.selection;
for(var i=0; i<selObj.length; i++){
if (!selObj[i].commonFlag){
selObj[i].selected = false;
}
}
})();


最後は、選択した複数の画像(リンク画像のみ)を指定した図形に、一括置換するスクリプトです。埋め込み画像の場合、どうしても座標が再設定できないため、リンク画像のみ処理するようにしています。


// 選択した画像をまとめて同じ画像に置換する
(function(){
var repFile = File.openDialog("置換するファイルを選択してください");
if (!repFile){ return; }
var selObj = app.activeDocument.selection;
for(var i=selObj.length-1; i>=0; i--){
var typ = selObj[i].typename;
if (typ == "PlacedItem"){
selObj[i].file = repFile;
}
}
})();


【古籏一浩】openspc@alpha.ocn.ne.jp
http://www.openspc2.org/


日曜日の朝からいきなりの地震。地震の2分前に起きていたというタイミングのよさ、というか……。それなりに長い揺れでした。

ところが、震源地の地域に放送局のカメラがないので、80kmくらい離れたところで「あまり揺れませんでした」とアナウンサーのコメント。御嶽山噴火の時もそうだけど、木曽方面って割とスルーされてるので何とも(昼頃に木曽に設置されているライブカメラの映像が流れた)。

30年くらい前に、同じような場所で大きな地震があって自然湖ができたりしてました。

http://footage3.openspc2.org/HDTV/footage/4K/60p/XAVCS/water/lake/nagano/shizenko/index.html


12時近くになって、ようやくテレビ局が到着したようで、被害状況が少し流れるという状態。法面のブロックが崩れてる映像は流れたりしたけど、よくわからない。

木曽は二年に一度くらいの頻度で大きな自然災害があるけど、放送局が行き着くまでに数時間かかるので、なかなか報道されない。放送局も一極集中状態なので、いざ災害が起こってもどうしようもない。


↓InDesignのJavaScriptリファレンス。地道に追加してます。

・InDesign JavaScript Reference
http://www.openspc2.org/reibun/InDesignCS6/ref/


・みんなのIchigoLatte入門 JavaScriptで楽しむゲーム作りと電子工作
https://www.amazon.co.jp/dp/4865940936/

[正誤表]
http://www.openspc2.org/book/error/ichigoLatte/


・After Effects自動化サンプルプログラム 上巻、下巻
【画面の図が黒潰れになっていたのは修正されました】
https://www.amazon.co.jp/dp/4844397591/

https://www.amazon.co.jp/dp/4844397605/


・IchigoLatteでIoT体験
https://www.amazon.co.jp/dp/B06X3X1CHP/

http://digiconcart.com/dccartstore/cart/info/2561/218591/


・みんなのIchigoJam入門 BASICで楽しむゲーム作りと電子工作
http://www.amazon.co.jp/dp/4865940332/


・Photoshop自動化基本編
http://www.amazon.co.jp/dp/B00W952JQW/


・Illustrator自動化基本編
http://www.amazon.co.jp/dp/B00R5MZ1PA/


・4K/ハイビジョン映像素材集
http://www.openspc2.org/HDTV/


・クリエイター手抜きプロジェクト
http://www.openspc2.org/projectX/