/**********************************************************
MakeCoolGradient.jsx
DESCRIPTION
このスクリプトは、新しいグラデーション「CoolGradient」を作成し、
スウォッチパネルに追加した後、ドキュメント内のすべてのパスアイテムに適用します。
**********************************************************/
// ドキュメントが開いているか確認
if (app.documents.length > 0) {
var doc = app.activeDocument;
var docPathItems = doc.pathItems;
if (docPathItems.length > 0) {
// 既存のグラデーションをチェック
var gradientExists = false;
var myGradients = doc.gradients;
var numberOfGradients = myGradients.length;
for (var i = 0; i < numberOfGradients; i++) {
if (myGradients[i].name == "CoolGradient") {
gradientExists = true;
break;
}
}
if (!gradientExists) {
// 新しいグラデーションを作成
var myGradient = createCoolGradient();
// すべてのパスアイテムにグラデーションを適用
// for (var i = 0; i < docPathItems.length; i++) {
// docPathItems[i].filled = true;
// docPathItems[i].fillColor = myGradient;
// }
redraw();
alert("CoolGradient がスウォッチパネルに追加されました!");
} else {
alert("CoolGradient はすでに存在します。新しいドキュメントでスクリプトを実行してください。");
}
} else {
alert("ドキュメントにパスアイテムがありません。");
}
} else {
alert("ドキュメントを開いてください。");
}
/*********************************************************
createCoolGradient: 「CoolGradient」スウォッチを作成する関数
**********************************************************/
function createCoolGradient() {
var doc = app.activeDocument;
// 新しいグラデーションを作成
var theGradient = doc.gradients.add();
theGradient.name = "CoolGradient";
theGradient.type = GradientType.LINEAR;
// 新しいグラデーションストップを追加(既存の2つ + 2つ)
var stop1 = theGradient.gradientStops[0];
var stop2 = theGradient.gradientStops.add();
var stop3 = theGradient.gradientStops.add();
var stop4 = theGradient.gradientStops[theGradient.gradientStops.length - 1];
// 各ストップの色設定
var color1 = new RGBColor();
var color2 = new RGBColor();
var color3 = new RGBColor();
var color4 = new RGBColor();
color1.red = 255; color1.green = 120; color1.blue = 100; // オレンジ系
color2.red = 100; color2.green = 100; color2.blue = 255; // 青系
color3.red = 100; color3.green = 255; color3.blue = 100; // 緑系
color4.red = 255; color4.green = 200; color4.blue = 0; // ゴールド系
// グラデーションストップの詳細設定
stop1.rampPoint = 0;
stop1.color = color1;
stop2.rampPoint = 33;
stop2.color = color2;
// stop2.opacity = 0.75;
stop3.rampPoint = 66;
stop3.color = color3;
// stop3.opacity = 0.5;
stop4.rampPoint = 100;
stop4.color = color4;
// stop4.opacity = 0.25;
// Illustrator の GradientColor オブジェクトを作成
var myGradientColor = new GradientColor();
myGradientColor.gradient = theGradient;
return myGradientColor;
}
// MakeCoolGradient.jsx
// ドキュメントが開いているか確認
if (app.documents.length > 0) {
var doc = app.activeDocument;
var docPathItems = doc.pathItems;
createCoolGradient();
redraw();
alert("CoolGradient がスウォッチパネルに追加されました!");
} else {
alert("ドキュメントを開いてください。");
}
/*********************************************************
createCoolGradient: 「CoolGradient」スウォッチを作成する関数
**********************************************************/
function createCoolGradient() {
var doc = app.activeDocument;
// 新しいグラデーションを作成
var theGradient = doc.gradients.add();
// theGradient.name = "CoolGradient";
theGradient.type = GradientType.LINEAR;
// 新しいグラデーションストップを追加(既存の2つ + 2つ)
var stop1 = theGradient.gradientStops[0];
var stop2 = theGradient.gradientStops.add();
var stop3 = theGradient.gradientStops.add();
var stop4 = theGradient.gradientStops[theGradient.gradientStops.length - 1];
// 各ストップの色設定
var color1 = new RGBColor();
var color2 = new RGBColor();
var color3 = new RGBColor();
var color4 = new RGBColor();
color1.red = 255; color1.green = 120; color1.blue = 100; // オレンジ系
color2.red = 100; color2.green = 100; color2.blue = 255; // 青系
color3.red = 100; color3.green = 255; color3.blue = 100; // 緑系
color4.red = 255; color4.green = 200; color4.blue = 0; // ゴールド系
// グラデーションストップの詳細設定
stop1.rampPoint = 0;
stop1.color = color1;
stop2.rampPoint = 33;
stop2.color = color2;
// stop2.opacity = 0.75;
stop3.rampPoint = 66;
stop3.color = color3;
// stop3.opacity = 0.5;
stop4.rampPoint = 100;
stop4.color = color4;
// stop4.opacity = 0.25;
// Illustrator の GradientColor オブジェクトを作成
var myGradientColor = new GradientColor();
myGradientColor.gradient = theGradient;
return myGradientColor;
}