月曜日, 9月 09, 2024

JavaScriptでAI遊び 24 
ランダムなサイズと色の円を100描画(RGB版)

表示しているファイルの中にサイズと色違いの円を100個描画させます。
RGB版

/* rgb_circle100.jsx */
function randomColor() {
// ランダムなRGBカラーを生成
var color = new RGBColor();
color.red = Math.random() * 255;
color.green = Math.random() * 255;
color.blue = Math.random() * 255;
return color;
}

function createRandomCircles(numCircles, minSize, maxSize) {
var doc = app.activeDocument;
// ドキュメントのアートボードの範囲を取得
var artboard =
        doc.artboards[doc.artboards.getActiveArtboardIndex()];
var abRect = artboard.artboardRect;
var abLeft = abRect[0];
var abTop = abRect[1];
var abRight = abRect[2];
var abBottom = abRect[3];

for (var i = 0; i < numCircles; i++) {
// ランダムな円のサイズを決定
var size = minSize + Math.random() * (maxSize - minSize);

// ランダムな位置を決定(アートボード内)
var x = abLeft + Math.random() * (abRight - abLeft - size);
var y = abTop - Math.random() * (abTop - abBottom - size);

// 新しい円を作成
var circle = doc.pathItems.ellipse(y, x, size, size);

// 円にランダムな色を設定
circle.fillColor = randomColor();
circle.stroked = false; // 線なし
}
}

if (app.documents.length > 0) {
var numCircles = 100;
var minSize = 20; // 円の最小サイズ
var maxSize = 100; // 円の最大サイズ
createRandomCircles(numCircles, minSize, maxSize);
} else {
alert("ドキュメントを開いてください。");
}
/* rgb_circle100.jsx */

実行結果A

実行結果B