Illustratorでグラデーションの構成色を抜き出します。
function extractMultipleGradientColors() {
if (app.documents.length === 0) {
alert("ドキュメントを開いてください。");
return;
}
var doc = app.activeDocument;
var selection = doc.selection;
if (selection.length === 0) {
alert("グラデーションを持つオブジェクトを選択してください。");
return;
}
var rectWidth = 20; // 矩形の幅
var rectHeight = 20; // 矩形の高さ
var startX = 100; // 矩形の開始位置
var startY = -100;
var colorCount = 0; // 配置のためのカウンター
for (var i = 0; i < selection.length; i++) {
var selectedItem = selection[i];
// グラデーションが適用されているか確認
if (selectedItem.filled &&
selectedItem.fillColor.typename === "GradientColor") {
var gradient = selectedItem.fillColor.gradient;
var stops = gradient.gradientStops;
for (var j = 0; j < stops.length; j++) {
var colorStop = stops[j].color;
var rect = doc.pathItems.rectangle(startY, startX +
(colorCount * rectWidth), rectWidth, -rectHeight);
rect.filled = true;
rect.fillColor = colorStop;
rect.stroked = false;
colorCount++;
}
startY -= rectHeight + 10; // 次のグラデーションは下に配置
colorCount = 0; // 横のカウントをリセット
}
}
alert("選択したグラデーションの色を矩形で抜き出しました!");
}
extractMultipleGradientColors();