見出し画像

🟥Adobe illustrator レイヤーをアートボードサイズでまとめて出力する。

前回は個別の画像をオブジェクトのサイズで出力する方法でしたが、今回は各レイヤーをアートボードサイズで出力する方法です。

使用例としてはサイズが同じパラパラ漫画などにいいでしょう。

残念ながら、この機能はIllustratorにはありません。

■その前の基本形

1つファイルでいいのであれば、わざわざスクリプトを使う必要はありません。

「スクリーン書き出し」から「アートボード」を選択して出色するだけです。

これをレイヤー毎にアートボードサイズで出力が現行のイラストレータではできません。

■スプリクトを使う

そこで、公開されている「スクリプト」を使ってアートボードサイズの画像を出力してみます。

詳しくは上記リンク!と言ってしまってはなんか・・・・人の記事の盗作なので・・・

スクリプトは配布元からもらってください。

コードをテキストエティターにコピペして、任意のファイル名にします。
そして、

C:\Program Files\Adobe\Adobe Illustrator 2025\Presets\ja_JP\スクリプト

もしくはフォルダーを作ってまとめる。

C:\Program Files\Adobe\Adobe Illustrator 2025\Presets\ja_JP\スクリプト\PNG書き出し
に入れるとプルダウンメニューからスクリプトが選択できるようになります。



でスクリプトを実行した結果。

このようにアートボードの該当位置にレイヤーのオブジェクトが配置された画像が出来上がります。

こんなこのかな?

さて、この場合は透過ビングがいいのですが、それは巷に出回っているので、背景を白にした場合のコードを書いときます。

var folder = Folder.selectDialog();
var document = app.activeDocument;
if(document && folder)
{
var options = new ExportOptionsPNG24();
options.antiAliasing = true;
options.transparency = false;
options.artBoardClipping = true;
var n = document.layers.length;
for(var i=0; i<n; ++i)
{
hideAllLayers();
var layer = document.layers[i];
layer.visible = true;
var file = new File(folder.fsName+"/"+layer.name+".png");
document.exportFile(file,ExportType.PNG24,options);
}
showAllLayers();
}
function hideAllLayers()
{
forEach(document.layers, function(layer) {
layer.visible = false;
});
}
function showAllLayers()
{
forEach(document.layers, function(layer) {
layer.visible = true;
});
}
function forEach(collection, fn)
{
var n = collection.length;
for(var i=0; i<n; ++i)
{
fn(collection[i]);
}
}

「options.transparency = false;」これが白地
「options.transparency = true;」これが透過

こんな違いのようです。


いいなと思ったら応援しよう!