クリエイター手抜きプロジェクト[148]Fireworks CS3編 画像をランダムに配置、回転させる/古籏一浩

投稿:  著者:  読了時間:5分(本文:約2,300文字)


最初のスクリプトはFireworks CS3で画像をランダムに配置するものです。

filename = "file:////images/photo.psd";
docObj = fw.getDocumentDOM();
for (i=0; i<10; i++)
{
var X = Math.random() * (docObj.left + docObj.width);
var Y = Math.random() * (docObj.top + docObj.height);
docObj.importFile(filename, {left:0,top:0, right:0, bottom:0}, true);
docObj.moveSelectionTo({x:X, y:Y}, false, false);
}

表示する画像は最初の一行目で画像のあるパスを指定します。
サンプルではMacOS Xでの表記になっています。


filename = "file:////images/photo.psd";

これは、起動ディスクの最初の階層にあるimagesフォルダ内にあるphoto.psdファイルを示しています。Windowsの場合は以下のようになります。

filename = "file:///C|/images/photo.psd";

これは、ドライブCの最初の階層にあるimagesフォルダ内にあるphoto.psdファイルを示しすことになります。画像の配置はdocObj.importFile()で行いますが、{left:0,top:0, right:0, bottom:0}で表示する画像の位置とサイズを指定できます。この時に表示する画像サイズを全て0にすると元画像のサイズで表示されます。

次のスクリプトは画像を配置しランダムにリサイズするものです。

filename = "file:////images/photo.psd";
docObj = fw.getDocumentDOM();
for (i=0; i<10; i++)
{
var X = Math.random() * (docObj.left + docObj.width);
var Y = Math.random() * (docObj.top + docObj.height);
var W = Math.random() * 200 + 50;
var H = Math.random() * 150 + 50;
docObj.importFile(filename, {left:0,top:0, right:0, bottom:0}, true);
docObj.moveSelectionTo({x:X, y:Y}, false, false);
docObj.resizeSelection(W, H);
}

画像の幅は

var W = Math.random() * 200 + 50;
var H = Math.random() * 150 + 50;

で指定します。ここの200+50が横幅50〜200未満を示します。
150+50が縦幅50〜150未満を示します。
次のスクリプトはランダムに画像を配置し、ランダムな不透明度で表示するものです。

filename = "file:////images/photo.psd";
docObj = fw.getDocumentDOM();
for (i=0; i<10; i++)
{
var X = Math.random() * (docObj.left + docObj.width);
var Y = Math.random() * (docObj.top + docObj.height);
var A = Math.random() * 101;
docObj.setOpacity(A);
docObj.importFile(filename, {left:0,top:0, right:0, bottom:0}, true);
docObj.moveSelectionTo({x:X, y:Y}, false, false);
}

不透明度の範囲は0〜100です。この不透明度を指定しているのが以下の行です。

var A = Math.random() * 101;

不透明度の範囲を変えるには、この101の値を変更してください。
最後のスクリプトはランダムに画像を回転させるものです。

filename = "file:////images/photo.psd";
docObj = fw.getDocumentDOM();
for (i=0; i<10; i++)
{
var X = Math.random() * (docObj.left + docObj.width);
var Y = Math.random() * (docObj.top + docObj.height);
var R = Math.random() * 361;
docObj.importFile(filename, {left:0,top:0, right:0, bottom:0}, true);
docObj.moveSelectionTo({x:X, y:Y}, false, false);
docObj.rotateSelection(R, "transformAttributes");
}

回転させる画像の角度は以下の行の361の値を変更してください。

var R = Math.random() * 361;


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/ >

「のど自慢 vs 初音ミク」結局、初音ミクの方がずっと多いまま推移してます。のど自慢じゃ駄目だったようで。ボーカロイドは女性の声ばかりでなく是非、男性のを出して欲しいなあ。男性が歌っているのを初音ミクで歌わせても迫力がないので。自分の声をボーカロイドで使えるようになると面白いはずだけど、ここらへんは何年も先になるんだろうなあ、きっと。