木曜日, 6月 15, 2023

JavaScriptでAI遊び 01 
取りあえず円を描いてみる

Abode Illustratorを操作するJavaScriptの入門連載(一発アクション系)です。ただ、無計画にスタートしたので、今後の展開は不明です。ということで、取りあえず円を描いてみます。

/* make_circle.jsx */
var doc = app.activeDocument;
// アクティブなドキュメントを取得
var Xcenter = 100; // 円の中心のX座標(pixel)
var Ycenter = 100; // 円の中心のY座標(pixel)
var radius = 100; // 円の半径(pixel)

var circle = doc.pathItems.ellipse
(Ycenter, Xcenter, radius * 2, radius * 2);
// 円の描画起点のX座標・Y座標(pixel)
//半径×2の直径で円を描画

//RGBcolor(RGBカラー)設定

circle.stroked = true; // 輪郭線を有効にする
var strokeColor = new RGBColor(); // 線の色
circle.strokeColor.red = 255; // 赤の値 (0〜255)
circle.strokeColor.green = 140; // 緑の値 (0〜255)
circle.strokeColor.blue = 0; // 青の値 (0〜255)
//線はdarkorange色

circle.strokeWidth = 5; // 輪郭線の太さ(point)
circle.filled = true; // 塗りつぶしを有効にする
var fillColor = new RGBColor(); // 塗りの色
circle.fillColor.red = 255; // 赤の値 (0〜255)
circle.fillColor.green = 250; // 緑の値 (0〜255)
circle.fillColor.blue = 205; // 青の値 (0〜255)
// 塗りはlemonchiffon色

doc.selection = null; // 選択を解除
/* make_circle.jsx */

作成したファイルは[filename.jsx]として書き出し、
Illustratorの[ファイル]>[スクリプト]>[その他のスクリプト]
にて読み込んで利用します。
処理結果はこんな感じです。これは楕円描画の式から・・・
(Ycenter, Xcenter, radius * 2, radius * 2);
x100, y100
つまりファイルの左上をの起点とし座標(100、100)からの描画ということで,
黒破線の流れでの描画になります。

同じく・・・
x50, y200
つまり座標(50、200)からの描画ということで,
黒破線の流れでの描画になります。

Ycenter, Xcenterと、YXの順で記述しないと逆になってしまいます。
Ycenter, Xcenter → x50,Y200
Xcenter, Ycenter → x200,Y50

同じく・・・
x200, y-150
つまり座標(150、150)からの描画ということで,
黒破線の流れでの描画になります。