クリエイター手抜きプロジェクト[249]Adobe Illustrator CS3/CS4/CS5編 リンク画像を埋め込み画像にする
── 古籏一浩 ──

投稿:  著者:


今回は、リンク画像を埋め込み画像にするスクリプトと、埋め込み画像をリンク画像に戻すスクリプトです。

最初は選択した画像がリンク画像の場合、埋め込み画像にするものです。これは、リンクパネルで複数の項目を選択してから、埋め込みのメニューを選択するのと同じです。



// 選択したものがリンク画像の場合のみ埋め込み画像にする
var selObj = app.activeDocument.selection;
for(var i=0; i<selObj.length; i++){
if (selObj[i].typename == "PlacedItem"){
selObj[i].embed();
}
}

選択した画像ではなく、ドキュメント内のすべてのリンク画像に対して処理するには、以下のようにします。

// ドキュメント内の全てのリンク画像を埋め込み画像にする
var imgObj = app.activeDocument.placedItem;
for(var i=0; i<imgObj.length; i++){
selObj[i].embed();
}

リンク画像を埋め込むのとは逆に、埋め込み画像をリンク画像にしたい場合もあります。以下のスクリプトは、「画像が傾斜していない、回転しない」という条件付きで、再度自動的にリンクを設定します(拡大縮小されている場合は、正しく処理されます)。

// 選択画像を再リンク
var selObj = app.activeDocument.selection;
for(var i=0; i<selObj.length; i++){
if (selObj[i].typename == "RasterItem"){
var pItem = app.activeDocument.placedItems.add();
pItem.file = selObj[i].file;
pItem.matrix.mValueA = selObj[i].matrix.mValueA;
pItem.matrix.mValueB = selObj[i].matrix.mValueB;
pItem.matrix.mValueC = selObj[i].matrix.mValueC;
pItem.matrix.mValueD = -selObj[i].matrix.mValueD;
pItem.matrix.mValueTx = selObj[i].matrix.mValueTx;
pItem.matrix.mValueTy = selObj[i].matrix.mValueTy;
pItem.left = selObj[i].left;
pItem.top = selObj[i].top;
selObj[i].remove();
}
}


【古籏一浩】[email protected]
< http://www.openspc2.org/
>

忙しいのでストック原稿からf(^^; パナソニックの3Dカメラ TM750+3Dレンズキットもあるけど、撮影する時間なく自宅の庭を撮影しただけ。アイデアはあるけど......。そのうちサンプルの映像データなど用意したいところです。

・ハイビジョン映像素材(縦方向)
< http://118.22.25.23/HDTV/footage/HD/60p_vertical/
>

・ハイビジョン映像素材
< http://118.22.25.23/HDTV/footage/HD/60p/
>

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集 発売中
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/
>

・電子書籍作成用ページ
< http://www.openspc2.org/eBook/index.html
>

毎度おなじみASCII.jpの連載。ここ数回は電子書籍データの作り方です。
・「今すぐ始める電子書籍制作入門 - 第1回 Kindle/iPad対応! 電子書籍の作り方」
< http://ascii.jp/elem/000/000/543/543785/
>
・今すぐ始める電子書籍制作入門 - 第2回 EPUB/MOBI/PDFで作るiPad&Kindle写真集
< http://ascii.jp/elem/000/000/545/545856/
>
・今すぐ始める電子書籍制作入門 - 第3回 チュートリアルで学ぶ電子書籍制作の4つの方法
< http://ascii.jp/elem/000/000/548/548935/
>